1、lsof 可打开的文件
文件、目录、网络、字符设备文件、管理、链接、NFS socket unix
2、命令选项
-a 列出打开文件存在的进程
-c<进程名> 列出指定进程所打开的文件
-g 列出GID号进程详情
-d<文件号> 列出占用该文件号的进程
+d<目录> 列出目录下被打开的文件
+D<目录> 递归列出目录下被打开的文件
-n<目录> 列出使用NFS的文件
-i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号> 列出指定进程号所打开的文件
-u 列出UID号进程详情
-h 显示帮助信息
-v 显示版本信息
3、使用实例
lsof | less
COMMAND:进程的名称
PID:进程标识符
PPID:父进程标识符(需要指定-R参数)
USER:进程所有者
PGID:进程所属组
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等:
TYPE文件类型
(1)DIR:表示目录
(2)CHR:表示字符类型
(3)BLK:块设备类型
(4)UNIX: UNIX 域套接字
(5)FIFO:先进先出 (FIFO) 队列
(6)IPv4:网际协议 (IP) 套接字
实例2
查看用户打开的文件
lsof -u root
列举程序打开的文件
lsof -c mysql
打开特定用户程序的
lsof -u root -c mysql
通过进程号查询打开的文件
lsof -p 37226 | less
查看tcp udp网络连接信息
~]# lsof -i tcp |less
~]# lsof -i udp |less
查看谁在使用端口号
lsof -i :22
https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/lsof.html