lsof
是一个用于列出当前系统打开文件的工具,它可以帮助我们了解哪些进程正在使用某个文件或者网络端口。
1、命令选项
-a
:表示两个条件都满足时才显示结果。
-c
:列出指定程序名的进程打开的文件。
-d
:列出指定文件描述符的进程打开的文件。
-g
:列出指定进程组的进程打开的文件。
-i
:列出与指定网络接口相关的进程打开的文件。
-n
:不解析主机名和端口号。
-p
:列出指定进程ID的进程打开的文件。
-t
:仅显示TCP相关文件。
-u
:列出指定用户ID的进程打开的文件。
-w
:以易读的方式显示文件描述符和网络连接。
-x
:列出指定程序名的进程打开的文件,但不包含程序本身的文件。
2、使用示例
以下是一些使用 lsof
命令选项的示例:
-
列出所有进程打开的文件:
lsof
-
列出指定进程 ID 的进程打开的文件:
lsof -p 12345
-
列出指定用户 ID 的进程打开的文件:
lsof -u 1000
-
列出指定程序名的进程打开的文件:
lsof -c nginx
- 列出指定端口相关的进程
lsof -i :2181
- 列出指定进程占用的端口,并且不解析主机名和端口
lsof -c java -P -n | grep IP