当前位置: 技术问答>linux和unix
使用 unlink 函数为什么进程始终占用该文件
来源: 互联网 发布时间:2017-01-16
本文导语: 在linux下的程序中使用函数unlink删除系统中的文件,为什么文件已经删除掉了 但是使用lsof指令查询 进程仍然占用着这个文件呢? 进程占用文件除了在操作文件外 还有什么情况下 会占用文件呢? ...
在linux下的程序中使用函数unlink删除系统中的文件,为什么文件已经删除掉了 但是使用lsof指令查询 进程仍然占用着这个文件呢?
进程占用文件除了在操作文件外 还有什么情况下 会占用文件呢?
进程占用文件除了在操作文件外 还有什么情况下 会占用文件呢?
|
进程中有没有关闭这个文件?
不关闭的话会显示依然占用
不关闭的话会显示依然占用
|
NAME
unlink - delete a name and possibly the file it refers to
SYNOPSIS
#include
int unlink(const char *pathname);
DESCRIPTION
unlink() deletes a name from the file system. If that name was the last link to a file and no processes have the file open the file is deleted
and the space it was using is made available for reuse.
If the name was the last link to a file but any processes still have the file open the file will remain in existence until the last file descrip‐
tor referring to it is closed.
If the name referred to a symbolic link the link is removed.
If the name referred to a socket, fifo or device the name for it is removed but processes which have the object open may continue to use it.
要学会自己man.