lsof 用法

一般root用户才能执行lsof命令。

lsof `which httpd`  #查看哪个进程在使用Apache的可执行文件。

lsof abc.txt  #查看开启文件abc.txt的进程。

lsof -i :22  #查看22端口在运行什么程序。

lsof -c abc  #查看abc进程现在打开的文件。

lsof -g gid  #查看归属gid的进程情况。

lsof +d /usr/local/  #查看目录下被进程开启的文件。

lsof +D /usr/local/  #同上,但是会搜索目录下的目录,时间较长。

lsof -d 4  #查看使用fd为4的进程。

lsof -i  #用以查看符合条件的进程情况

语法:lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

46 -->IPv4 or IPv6

protocol -->TCP or UDP

hostname -->Internet host name

hostaddr -->IPv4位置

service -->/etc/service中的service name(可以不只一个)

port -->端口号(可以不只一个)

lsof -n  #不将IP转换为hostname,缺省是不加上-n参数。

lsof -p 12  #查看进程号为12的进程打开了哪些文件。

lsof {+,-}r [t]  #控制lsof不断重复执行,缺省是15s刷新。

-r,lsof会永远不停的执行,直到收到中断信号。

+r,lsof会一直执行,知道没有档案被显示。

lsof -s  #列出打开文件的大小,如果没有大小,则留空白。

lsof -u username  #以UID,列出打开的文件。


转自:http://www.2cto.com/os/201407/312972.html 

http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316599.html