lsof

Author Avatar
xuanzh.cc 10月 26, 2017
  • 在其它设备中阅读本文章

命令说明

lsof(list open files)是一个列出当前系统打开文件的工具。在 linux 环境下,任何事物都已文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

命令格式:

1
lsof

lsof 输出格式入下:

名称 说明
COMMAND 进程的命令
PID 进程id
USER 进程用户名
FD 文件描述符
TYPE 文件类型,如DIR、REG, IPv4等
DEVICE 位置信息
SIZE 、SIZE/OFF、OFFSET 文件的大小
NODE 索引节点(文件在磁盘上的标识)
NAME 打开文件的确切名称

例如:

1
2
3
4
5
6
7
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 15889 nobody 3u IPv4 1611843 0t0 TCP iz2zefovg2hk1jtlc90x19z:http->116.117.49.58.broad.wh.hb.dynamic.163data.com.cn:34043 (ESTABLISHED)
nginx 15889 nobody 6u IPv4 26211 0t0 TCP *:http (LISTEN)
AliYunDun 18151 root 19u IPv4 1272859 0t0 TCP iz2zefovg2hk1jtlc90x19z:56568->100.100.25.3:http (CLOSE_WAIT)
AliYunDun 18211 root 19u IPv4 1272859 0t0 TCP iz2zefovg2hk1jtlc90x19z:56568->100.100.25.3:http (CLOSE_WAIT)
AliYunDun 18211 root 23u IPv4 1323699 0t0 TCP iz2zefovg2hk1jtlc90x19z:53832->140.205.140.205:http (ESTABLISHED)
nginx 22458 root 6u IPv4 26211 0t0 TCP *:http (LISTEN)

常用的选项:

  • -i ,select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]

比如 lsof -i:3000 可以用来查看端口 3000 的占用情况。