linux命令l---lsof

简介

最近发现linux下的一个高级系统命令lsof,发现其功能真实相当强大。类同blktrace一样,都是十分值得研究的系统命令,由于该工具用法涵盖面太广,以后用到慢慢扩充,先暂时把常用的一些用法列出来
下面仅列举一下常用用法:

1、显示与指定端口相关的网络信息

lsof -i :22

2、显示指定用户打开了什么

lsof -u ceph

3、显示除指定用户以外的其他所有用户所做的事情

lsof -u ^ceph

4、杀死指定用户做的一切事情

kill -9 `lsof -t -u daniel

5、指定的命令正在使用的文件和网络连接

lsof -c ceph-osd

6、查看指定进程ID已打开的内容

lsof -p 1003

7、返回相关进程的PID

lsof -t -c ceph-osd

8、显示与指定目录交互的所有一切

lsof /var/log/messages/

9、显示与指定文件交互的所有一切

lsof /home/daniel/firewall_whitelist.txt

10、显示目录下被进程开启的文件

lsof +d /usr/local/

11、同上,但是会搜索目录下的目录,时间较长

lsof +D /usr/local/

12、显示符合条件的进程情况

	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 --> 端口号 (可以不只一个)

13、控制lsof不断重复执行

lsof +|-r [t] 控制lsof不断重复执行,缺省是15s刷新
-r,lsof会永远不断的执行,直到收到中断信号
+r,lsof会一直执行,直到没有档案被显示

14、查看未释放文件描述符的文件

lsof -n |grep deleted

转载地址:

https://www.jianshu.com/p/a3aa6b01b2e1

注意事项

1、lsof -p 后面必须添加进程号,不能添加线程号

发布了297 篇原创文章 · 获赞 6 · 访问量 8563

猜你喜欢

转载自blog.csdn.net/qq_23929673/article/details/93618443
今日推荐