lsof(list open files)命令

在 linux 环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

lsof [参数][文件]

用于查看系统打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
命令参数:
-a 列出打开文件存在的进程
-c <进程名> 列出指定进程所打开的文件
-g 列出GID号进程详情
-d <文件号> 列出占用该文件号的进程
+d <目录> 列出目录下被打开的文件
+D <目录> 递归列出目录下被打开的文件
-n <目录> 列出使用NFS的文件
-i <条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p <进程号> 列出指定进程号所打开的文件
-u 列出 UID 号进程详情
-h 显示帮助信息
-v 显示版本信息

查看端口占用:
lsof -i :3000 或者:
netstat -apn | grep 3000
netstat -nltp | grep PID

查看当前 tcp 连接数:netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l