Linux lsof命令

lsof:list open files,列出打开的文件 因为lsof需要访问核心内存和各种文件,需要用root,友情链接:Linux fuser命令

常用参数及说明:更多参数可以参考man lsof页面

  • -a:多项结果同时成立才被显示
  • -u:+ username,列出该user相关程序打开的文件
  • +d:+ 目录,即找出该目录下已被打开的文件
  • +D:+ 目录,即递归找出该目录下已被打开的文件
  • -i:+ 4,6或者:端口号,列出符合条件的进程,后面不接任何选项,直接列出所有的网络连接
  • -p:+ PID,列出该进程所打开的文件
  • -c:+ 进程名,列出该进程所打开的文件

例子

1. 查看使用该文件的进程

[root@localhost test]# lsof | grep test.txt #lsof不加参数将会显示所有打开文件的进程,然后grep想要查看的文件即可
vi        28453      root    4u      REG              253,0    12288    4411879 /root/test/.test.txt.swp

2. 查看某一个用户有打开文件的进程

[root@localhost ~]# lsof -u test #打开test用户有打开文件的进程
3. 找出该目录下已被打开的文件
[root@localhost ~]# lsof +d /home/test #找出/home/test目录下被打开的文件,如果是+D,就递归找出目录中被打开的文件
COMMAND   PID USER   FD   TYPE DEVICE  SIZE    NODE NAME
bash    28479 test  cwd    DIR  253,0  4096 3430578 /home/test
vim     28508 test  cwd    DIR  253,0  4096 3430578 /home/test
vim     28508 test    4u   REG  253,0 12288 2940766 /home/test/.test.txt.swp
4. 列出某个端口相关信息
[root@localhost ~]# lsof -i :22 #列出22号端口相关信息
5. 列出某个进程打开的文件
[root@localhost ~]# lsof -p 28549 #28594为进程号
6. 列出某个命令打开的文件
[root@localhost ~]# lsof -c vi #列出vi命令打开的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值