lsof
是一个用于列出系统中打开文件的工具。它的名字来自”list open files”
lsof
命令可以展示当前正在被打开的文件列表,包括网络套接字(网络连接)、管道、设备文件、以及普通文件等等
常用的lsof
选项包括:
-i
: 显示网络套接字信息,用于列出网络连接的相关信息。-p <PID>
: 显示指定进程ID的打开文件列表。-u <USER>
: 显示指定用户打开的文件列表。-c <COMMAND>
: 显示指定命令打开的文件列表。-t
: 仅显示进程ID(不显示其他信息),用于脚本处理
列出所有正在使用网络连接的进程 lsof -i:port
列出特定进程ID(比如PID为1234)打开的文件列表 lsof -p id
每当打开一个文件就会开启一个管道 文件在管道中缓冲 读取一个之后就没了 close之后也没了
在/proc/{uid} 目录下 有一个fd 可以看到当前打开文件的管道
使用 cat <& 3 读取