转自:[url]http://blog.csdn.net/zhaozhanyong/archive/2010/05/17/5599858.aspx[/url]
Linux系统调用-- unlink函数详解
功能描述:
从文件系统中删除一个名称。如果名称是文件的最后一个连接,并且没有其它进程将文件打开,名称对应的文件会实际被删除。
用法:
#include
int unlink(const char *pathname);
参数:
pathname:指向需解除连接的文件名。
返回说明:
成功执行时,返回0。失败返回-1,errno被设为以下的某个值
EACCES:权能不足
EFAULT: 内存空间不可访问
EIO:发生输入输出错误
EISDIR:pathname索引的是目录
ELOOP :路径解析的过程中存在太多的符号连接
ENAMETOOLONG:路径名超出可允许的长度
ENOENT:路径名部分内容表示的目录不存在,或者是悬浮的连接
ENOMEM: 核心内存不足
ENOTDIR:路径名的部分内容不是目录
EPERM : 文件系统不支持文件或者目录的解除连接,也有可能是权限步允许
EROFS :文件系统只读
转自:[url]http://topic.csdn.net/u/20101115/10/e89ae706-fea8-4667-89ad-670cc0ab48b6.html[/url]
unlink会直接删除你所能看到的文件名,但是如果此时文件是打开的,它并不会从磁盘上被删除,只有进程结束时才会真正从磁盘上删除。unlink的这种性质只能用来确保进程创建的temp file会被正确删除,不能像你这样使用所谓的文件锁。
Linux系统调用-- unlink函数详解
功能描述:
从文件系统中删除一个名称。如果名称是文件的最后一个连接,并且没有其它进程将文件打开,名称对应的文件会实际被删除。
用法:
#include
int unlink(const char *pathname);
参数:
pathname:指向需解除连接的文件名。
返回说明:
成功执行时,返回0。失败返回-1,errno被设为以下的某个值
EACCES:权能不足
EFAULT: 内存空间不可访问
EIO:发生输入输出错误
EISDIR:pathname索引的是目录
ELOOP :路径解析的过程中存在太多的符号连接
ENAMETOOLONG:路径名超出可允许的长度
ENOENT:路径名部分内容表示的目录不存在,或者是悬浮的连接
ENOMEM: 核心内存不足
ENOTDIR:路径名的部分内容不是目录
EPERM : 文件系统不支持文件或者目录的解除连接,也有可能是权限步允许
EROFS :文件系统只读
转自:[url]http://topic.csdn.net/u/20101115/10/e89ae706-fea8-4667-89ad-670cc0ab48b6.html[/url]
unlink会直接删除你所能看到的文件名,但是如果此时文件是打开的,它并不会从磁盘上被删除,只有进程结束时才会真正从磁盘上删除。unlink的这种性质只能用来确保进程创建的temp file会被正确删除,不能像你这样使用所谓的文件锁。