Linux lsof命令详解

网友投稿 1090 2022-10-08

Linux lsof命令详解

Linux lsof命令详解

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

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

[root@db01 ~]# lsof `which PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 21602 root txt REG 253,0 523608 602699 /usr/sbin/ 21603 apache txt REG 253,0 523608 602699 /usr/sbin/ 21604 apache txt REG 253,0 523608 602699 /usr/sbin/ 21605 apache txt REG 253,0 523608 602699 /usr/sbin/ 21606 apache txt REG 253,0 523608 602699 /usr/sbin/ 21607 apache txt REG 253,0 523608 602699 /usr/sbin/ 21608 apache txt REG 253,0 523608 602699 /usr/sbin/那个进程在占用/var/log/message

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

2.3 查看哪个进程占用光驱

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

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

[root@db01 mnt]# lsof -c db2fmp -u ^db2fenc1COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEdb2fmp 4318 db2inst1 cwd DIR 253,0 4096 2578971 /home/db2inst1/sqllib/db2dump/DIAG0000db2fmp 4318 db2inst1 rtd DIR 253,0 4096 64 /

2.5 显示那些文件被pid为4296的进程打开

[root@db01 mnt]# ps -ef | grep db2sysc | grep -v grepdb2inst1 4296 4294 0 09:17 pts/0 00:01:38 db2sysc 0[root@db01 mnt]# lsof -p 4296COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEdb2sysc 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/db2syscdb2sysc 4296 db2inst1 DEL REG 0,4 32769 /SYSVd5ff1161db2sysc 4296 db2inst1 DEL REG 0,4 65538 /SYSV00000000db2sysc 4296 db2inst1 mem REG 253,0 163312 81792 /usr/lib64/ld-2.17.sodb2sysc 4296 db2inst1 mem REG 0,18 4096 15313 /dev/shm/DB2_SELF_TUNING_MEMORY_MANAGER_CROSS_INSTANCE_SHARED_MEMORY_SEGMENTdb2sysc 4296 db2inst1 DEL REG 0,18 20439 /dev/shm/sem.xIH71Ldb2sysc 4296 db2inst1 DEL REG 0,18 57188 /dev/shm/sem.f6CGkFdb2sysc 4296 db2inst1 mem REG 253,0 2401310 207022101 /opt/ibm/db2/V11.1/lib64/libca_api_rhel.sodb2sysc 4296 db2inst1 mem REG 253,0 142144 81825 /usr/lib64/libpthread-2.17.sodb2sysc 4296 db2inst1 mem REG 253,0 2246318 207405716 /opt/ibm/db2/V11.1/lib64/libdb2thrift.so.1db2sysc 4296 db2inst1 mem REG 253,0 250765987 207439652 /opt/ibm/db2/V11.1/lib64/libdb2e.so.1db2sysc 4296 db2inst1 mem REG 253,0 6149491 207050977 /opt/ibm/db2/V11.1/lib64/libdb2osse.so.1db2sysc 4296 db2inst1 mem REG 253,0 689314 207022165 /opt/ibm/db2/V11.1/lib64/libdb2osse_db2.so.1db2sysc 4296 db2inst1 mem REG 253,0 1136944 81807 /usr/lib64/libm-2.17.sodb2sysc 4296 db2inst1 mem REG 253,0 991616 81846 /usr/lib64/libstdc++.so.6.0.19

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

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

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

[root@db01 /]# lsof -udb2inst1COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEbash 3374 db2inst1 cwd DIR 253,0 4096 67677923 /home/db2inst1bash 3374 db2inst1 rtd DIR 253,0 4096 64 /bash 3374 db2inst1 txt REG 253,0 964592 201328472 /usr/bin/bashbash 3374 db2inst1 mem REG 253,0 163312 81792 /usr/lib64/ld-2.17.sobash 3374 db2inst1 mem REG 253,0 26254 201328469 /usr/lib64/gconv/gconv-modules.cachebash 3374 db2inst1 mem REG 253,0 174576 82960 /usr/lib64/libtinfo.so.5.9bash 3374 db2inst1 mem REG 253,0 19248 81805 /usr/lib64/libdl-2.17.sobash 3374 db2inst1 mem REG 253,0 2156072 81799 /usr/lib64/libc-2.17.sobash 3374 db2inst1 mem REG 253,0 61560 81817 /usr/lib64/libnss_files-2.17.sobash 3374 db2inst1 mem REG 253,0 106075056 81845 /usr/lib/locale/locale-archivebash 3374 db2inst1 0u CHR 4,1 0t0 1043 /dev/tty1bash 3374 db2inst1 1u CHR 4,1 0t0 1043 /dev/tty1bash 3374 db2inst1 2u CHR 4,1 0t0 1043 /dev/tty1bash 3374 db2inst1 255u CHR 4,1 0t0 1043 /dev/tty1

2.8 查看不是用户db2inst1的进程的文件使用情况(^是取反的意思)

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

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

[root@db01 /]# lsof -i:50000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEdb2sysc 4296 db2inst1 6u IPv4 23136 0t0 TCP *:db2c_db2inst1 (LISTEN)

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

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

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

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

LINUX

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序触摸内容滑动解决方案,适用于wepy框架(微信小程序滑动窗口)
下一篇:酱茄小程序开源版,基于WordPress的微信小程序(wordpress小程序源码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~