lsof命令
lsof 用于列出当前系统上被进程打开的文件。
lsof命令
简介
lsof(list open files)命令,用于列出当前系统上被进程打开的文件,查看打开文件的进程和相关信息。
lsof部分命令要sudo才会显示结果。
lsof的输出字段
字段 | 说明 |
---|---|
COMMAND | 打开文件的进程名 |
PID | 进程ID |
USER | 运行进程的用户 |
FD | 文件描述符,表示进程使用的文件标识符 (如cwd 当前工作目录, txt 程序执行文件, etc.) |
TYPE | 文件类型,如REG(普通文件)、DIR(目录)、CHR(字符设备) |
DEVICE | 设备标识(设备号),显示该文件所在的设备 |
SIZE/OFF | 文件大小/偏移量 |
NODE | inode节点号 |
NAME | 文件名 |
分页显示命令输出结果
1
lsof | more
列出打开的网络文件
1
2
3
4
5
6
7
8
9
10
# 获得所有在指定端口号上打开的文件
lsof -i:端口号
# 列出使用了TCP 或 UDP 协议的文件
lsof -i TCP/UDP
# 列出使用了TCP 协议并且端口为3333的文件
lsof -i TCP:3333
# 列出使用了TCP协议并且端口范围为 1 到 1024 的文件
lsof -i TCP:1-1024
# lsof部分命令要sudo才会显示结果。
列出指定用户的进程打开的文件
1
lsof -u username
列出指定PID的进程打开的文件
1
lsof -p PID
列出指定命令名的进程打开的文件
1
lsof -c nginx # 会列出所有由nginx进程打开的文件。
本文由作者按照 CC BY 4.0 进行授权