c语言中unlink()函数详解

头文件:#include <unistd.h>

定义函数:int unlink(const char * pathname);

函数说明:unlink()会删除参数pathname 指定的文件. 如果该文件名为最后连接点, 但有其他进程打开了此文件, 则在所有关于此文件的文件描述词皆关闭后才会删除. 如果参数pathname 为一符号连接, 则此连接会被删除。

返回值:成功则返回0, 失败返回-1, 错误原因存于errno

错误代码:
1、EROFS 文件存在于只读文件系统内。
2、EFAULT 参数pathname 指针超出可存取内存空间。
3、ENAMETOOLONG 参数pathname 太长。
4、ENOMEM 核心内存不足。
5、ELOOP 参数pathname 有过多符号连接问题。
6、EIO I/O 存取错误。

我们知道Linux中文件是用inode节点来区分文件的,当我们删除一个文件的时候并不一定系统就会释放inode节点的内容。当满足下面的要求的时候系统才会释放inode节点的内容

  • inode中记录指向该节点的硬链接数为0
  • 没有进程打开指向该节点的文件

  使用unlink函数删除文件的时候,只会删除 目录项 ,并且将inode节点的硬链接数目减一而已,并不一定会释放inode节点。

如果此时没有进程正在打开该文件或者有其他文件指向该inode节点,该inode节点将会被释放;如果此时有进程正在打开一个文件,而此时使用unlink删除了该文件,那么此时只是删除了目录项,并没有释放,因为此时仍然有进程在打开这个文件

========================================================

  unlink函数的另一个用途就是用来创建临时文件,如果在程序中使用open创建了一个文件后,然后立即使用 unlink 函数删除文件,由于此时进程正在打开该文件,所以系统并不会释放该文件的 inode 节点,而只是删除其目录项。当进程退出时,该inode节点将会立即被释放。

临时文件可以用在进程间通信中的 有名管道 通信中

根据引用\[1\]和引用\[2\]的内容,安装VMware VCSA的步骤如下: 1. 首先,从VMware官网下载VCSA安装包,可以选择适合的版本。 2. 准备一台ESXi主机,在其上部署两台Windows Server 2019服务器,一台用作Active Directory(AD),一台用于安装VCSA。确保VC的域名可以在AD上解析出来。 3. 运行VCSA安装包,点击安装。输入ESXi主机的地址、端口号、用户名和密码。 4. 输入VCSA底层密钥(Injoin@2020)和FQDN(需要在AD的DNS添加A记录)。完成安装。 5. 解决ESXi本地无法登录的问题,禁用锁定模式。 6. 如果在安装VIM时遇到错误,如错误1722,可以尝试删除Microsoft Virtual C++并重新安装。 7. 如果在安装VCenter6时遇到1603错误,可以尝试修改兼容性或上传本地虚拟机。 根据引用\[3\]的内容,VCSA是一台预装了vCenter的应用服务器,操作系统为SUSE Linux。在6.0版本开始,需要在Windows平台上执行安装程序来完成VCSA的部署。 综上所述,您可以按照以上步骤来安装VMware VCSA。 #### 引用[.reference_title] - *1* *3* [VMware vCenter Server Appliance(VCSA)6.0安装过程](https://blog.csdn.net/zly3500/article/details/125748500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [VMware——VCSA部署](https://blog.csdn.net/u012391293/article/details/116982787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值