Linux lsof命令详解

1.lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

https://www.cndba.cn/hbhe0316/article/4898

2.lsof命令实例
2.1 那个进程在使用apache的可执行文件

https://www.cndba.cn/hbhe0316/article/4898
[root@db01 ~]# lsof `which httpd`
COMMAND   PID   USER  FD   TYPE DEVICE SIZE/OFF   NODE NAME
httpd   21602   root txt    REG  253,0   523608 602699 /usr/sbin/httpd
httpd   21603 apache txt    REG  253,0   523608 602699 /usr/sbin/httpd
httpd   21604 apache txt    REG  253,0   523608 602699 /usr/sbin/httpd
httpd   21605 apache txt    REG  253,0   523608 602699 /usr/sbin/httpd
httpd   21606 apache txt    REG  253,0   523608 602699 /usr/sbin/httpd
httpd   21607 apache txt    REG  253,0   523608 602699 /usr/sbin/httpd
httpd   21608 apache txt    REG  253,0   523608 602699 /usr/sbin/httpd

2.2 那个进程在占用/var/log/messagehttps://www.cndba.cn/hbhe0316/article/4898https://www.cndba.cn/hbhe0316/article/4898

[root@db01 ~]# lsof |grep /var/log/messages
abrt-watc   923                 root    4r      REG          253,0      2553  135253354 /var/log/messages
rsyslogd   1186                 root    7w      REG          253,0      2553  135253354 /var/log/messages
in:imjour  1186  1205           root    7w      REG          253,0      2553  135253354 /var/log/messages
rs:main    1186  1212           root    7w      REG          253,0      2553  135253354 /var/log/messages

2.3 查看哪个进程占用光驱

[root@db01 mnt]# lsof /dev/cdrom
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    21688 root  cwd    DIR   11,0     4096 1856 /mnt
lsof    22193 root  cwd    DIR   11,0     4096 1856 /mnt
lsof    22194 root  cwd    DIR   11,0     4096 1856 /mnt

2.4 显示出那些文件被以db2fmp打头的进程打开,但是并不属于用户db2fenc1

https://www.cndba.cn/hbhe0316/article/4898
[root@db01 mnt]# lsof -c db2fmp -u ^db2fenc1
COMMAND  PID     USER   FD   TYPE DEVICE  SIZE/OFF      NODE NAME
db2fmp  4318 db2inst1  cwd    DIR  253,0      4096   2578971 /home/db2inst1/sqllib/db2dump/DIAG0000
db2fmp  4318 db2inst1  rtd    DIR  253,0      4096        64 /

2.5 显示那些文件被pid为4296的进程打开https://www.cndba.cn/hbhe0316/article/4898https://www.cndba.cn/hbhe0316/article/4898

[root@db01 mnt]# ps -ef | grep db2sysc | grep -v grep
db2inst1  4296  4294  0 09:17 pts/0    00:01:38 db2sysc 0
[root@db01 mnt]# lsof -p 4296
COMMAND  PID     USER   FD   TYPE DEVICE  SIZE/OFF      NODE NAME
db2sysc 4296 db2inst1  cwd    DIR  253,0      4096        64 /
db2sysc 4296 db2inst1  rtd    DIR  253,0      4096        64 /
db2sysc 4296 db2inst1  txt    REG  253,0    416564   1825414 /home/db2inst1/sqllib/adm/db2sysc
db2sysc 4296 db2inst1  DEL    REG    0,4               32769 /SYSVd5ff1161
db2sysc 4296 db2inst1  DEL    REG    0,4               65538 /SYSV00000000
db2sysc 4296 db2inst1  mem    REG  253,0    163312     81792 /usr/lib64/ld-2.17.so
db2sysc 4296 db2inst1  mem    REG   0,18      4096     15313 /dev/shm/DB2_SELF_TUNING_MEMORY_MANAGER_CROSS_INSTANCE_SHARED_MEMORY_SEGMENT
db2sysc 4296 db2inst1  DEL    REG   0,18               20439 /dev/shm/sem.xIH71L
db2sysc 4296 db2inst1  DEL    REG   0,18               57188 /dev/shm/sem.f6CGkF
db2sysc 4296 db2inst1  mem    REG  253,0   2401310 207022101 /opt/ibm/db2/V11.1/lib64/libca_api_rhel.so
db2sysc 4296 db2inst1  mem    REG  253,0    142144     81825 /usr/lib64/libpthread-2.17.so
db2sysc 4296 db2inst1  mem    REG  253,0   2246318 207405716 /opt/ibm/db2/V11.1/lib64/libdb2thrift.so.1
db2sysc 4296 db2inst1  mem    REG  253,0 250765987 207439652 /opt/ibm/db2/V11.1/lib64/libdb2e.so.1
db2sysc 4296 db2inst1  mem    REG  253,0   6149491 207050977 /opt/ibm/db2/V11.1/lib64/libdb2osse.so.1
db2sysc 4296 db2inst1  mem    REG  253,0    689314 207022165 /opt/ibm/db2/V11.1/lib64/libdb2osse_db2.so.1
db2sysc 4296 db2inst1  mem    REG  253,0   1136944     81807 /usr/lib64/libm-2.17.so
db2sysc 4296 db2inst1  mem    REG  253,0    991616     81846 /usr/lib64/libstdc++.so.6.0.19

2.6 查看uid是100的用户的进程的文件使用情况

[root@db01 /]# id db2inst1
uid=1000(db2inst1) gid=1000(db2iadm1) groups=1000(db2iadm1),1006(mqm)
[root@db01 /]# lsof -u1000

2.7 查看用户db2inst1的进程的文件使用情况

https://www.cndba.cn/hbhe0316/article/4898
[root@db01 /]# lsof -udb2inst1
COMMAND  PID     USER   FD   TYPE DEVICE  SIZE/OFF      NODE NAME
bash    3374 db2inst1  cwd    DIR  253,0      4096  67677923 /home/db2inst1
bash    3374 db2inst1  rtd    DIR  253,0      4096        64 /
bash    3374 db2inst1  txt    REG  253,0    964592 201328472 /usr/bin/bash
bash    3374 db2inst1  mem    REG  253,0    163312     81792 /usr/lib64/ld-2.17.so
bash    3374 db2inst1  mem    REG  253,0     26254 201328469 /usr/lib64/gconv/gconv-modules.cache
bash    3374 db2inst1  mem    REG  253,0    174576     82960 /usr/lib64/libtinfo.so.5.9
bash    3374 db2inst1  mem    REG  253,0     19248     81805 /usr/lib64/libdl-2.17.so
bash    3374 db2inst1  mem    REG  253,0   2156072     81799 /usr/lib64/libc-2.17.so
bash    3374 db2inst1  mem    REG  253,0     61560     81817 /usr/lib64/libnss_files-2.17.so
bash    3374 db2inst1  mem    REG  253,0 106075056     81845 /usr/lib/locale/locale-archive
bash    3374 db2inst1    0u   CHR    4,1       0t0      1043 /dev/tty1
bash    3374 db2inst1    1u   CHR    4,1       0t0      1043 /dev/tty1
bash    3374 db2inst1    2u   CHR    4,1       0t0      1043 /dev/tty1
bash    3374 db2inst1  255u   CHR    4,1       0t0      1043 /dev/tty1

2.8 查看不是用户db2inst1的进程的文件使用情况(^是取反的意思)https://www.cndba.cn/hbhe0316/article/4898

[root@db01 /]# lsof -u^db2inst1

2.9 显示所有打开50000端口的进程

https://www.cndba.cn/hbhe0316/article/4898
[root@db01 /]# lsof -i:50000
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
db2sysc 4296 db2inst1    6u  IPv4  23136      0t0  TCP *:db2c_db2inst1 (LISTEN)

2.10 显示那些进程打开了到www.baidu.com的UDP的123(ntp)端口的链接

[root@db01 /]# lsof -i UDP@[url]www.baidu.com:123

2.11 不断查看目前ftp连接的情况(-r,lsof会永远不断的执行,直到收到中断信号,+r,lsof会一直执行,直到没有档案被显示,缺省是15s刷新)

[root@db01 /]# lsof -i tcp@192.168.56.111:ftp -r

版权声明:本文为博主原创文章,未经博主允许不得转载。

LINUX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值