本文共 1070 字,大约阅读时间需要 3 分钟。
lsof的意思是list open files。是系统常用的查看当前系统打开文件的工具,使用它不仅可以访问常规数据,还可以访问网络连接和硬件。
lsof运行后会在终端输出9列信息从左到右依次为:
1,COMMAND(进程名称);
2,PID(进程标识符)
3,USER(进程所有者);
4,FD(文件描述符);
5,TYPE(文件类型);
6,DEVICE(指定磁盘的名称);
7,SIZE(大小);
8,NODE(索引节点);
9,NAME(打开文件的名称)。
lsof的参数和适用方法可以参照lsof --help,需要更为详细的说明请执行man lsof。
01) lsof abc.txt 显示开启文件abc.txt的进程
02) lsof -i :22 知道22端口现在运行什么程序
03) lsof -c nsd值 显示nsd进程现在打开的文件
04) lsof -g gid值 显示归属gid的进程情况
05) lsof +d /usr/local/ 显示/usr/local目录下被进程开启的文件
06) lsof +D /usr/local/ 同上,但包括子目录,所耗时间较长
07) lsof -d fd值 显示使用fd值所代表的进程
08) lsof -n 不将IP转换为hostname,缺省没有-n参数
09) lsof -p pid值 看特定进程号打开了哪些文件
10) lsof (+/-r) 时间值 控制lsof不断重复执行,时间值是以s计算,缺省是15s刷新
-r表示lsof会永远不断的执行,直到收到中断信号;+r表示lsof会一直执行,直到没有档案被显示为止。
11) lsof -u username 以UID,列出打开的文件
12) lsof -i tcp:2250 意思是查看tcp协议下的2250端口被什么程序在占用。
1>如果将/var/log/messages文件勿删除
2>lsof |grep /var/log/messages
3>找到显示的pid值和fd值
4>cat /proc/pid值/fd值 >/var/log/messages
注:所有读入内存的文件位于/proc/pid值/fd值/下
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12330444/viewspace-257436/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12330444/viewspace-257436/