linux中lsof的用法

1.lsof

        通过lsof命令工具可以查看某个进程占用了哪些句柄。同时也可以看某个文件被哪些进程使用了。


2.lsof常见的用法

(A)查找应用程序打开的文件

lsof -p pid   可以查看进程号为pid的进程打开了哪些文件或者占用了哪些fd。

(B)查找打开某个文件的应用程序

lsof filename   可以查看名称为filename的文件被哪些进程打开了。

(C)lsof还有一些其他高级的用法

例如,恢复已经被删除的文件以及查看网络连接等等。


备注:

(1)使用/usr/sbin/lsof |grep delete查看被rm的文件,仍然被进程占用,最终导致磁盘空间释放不了。当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录条目。

(2)lsof输出的信息中,有一列SIZE值,表示文件的大小,单位是Byte


学习资料来源:

http://www.ibm.com/developerworks/cn/aix/library/au-lsof.html

你可能感兴趣的:(linux中lsof的用法)