mac系统netstat命令使用可能会受限。建议使用lsof进行操作。
lsof(list open files):主要用于列出当前系统打开的所有文件的工具。打开的文件可以是
-** 普通文件
-** 目录
-** 块文件
-** 字符特殊文件
-**网络文件系统的文件
-**(函数)共享库
-**管道,命名管道
-**符号链接
-**网络文件(例如:NFS file、网络socket,unix域名socket)
-**还有其它类型的文件,等等
直接lsof,出现许多的打开的文件:
1 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME 2 init 1 root cwd DIR 8,2 4096 2 / 3 init 1 root rtd DIR 8,2 4096 2 / 4 init 1 root txt REG 8,2 43496 6121706 /sbin/init 5 init 1 root mem REG 8,2 143600 7823908 /lib64/ld-2.5.so 6 init 1 root mem REG 8,2 1722304 7823915 /lib64/libc-2.5.so
命令参数:
-a 列出打开文件存在的进程
-c<进程名> 列出指定进程所打开的文件
-g 列出GID号进程详情
-d<文件号> 列出占用该文件号的进程
+d<目录> 列出目录下被打开的文件
+D<目录> 递归列出目录下被打开的文件
-n<目录> 列出使用NFS的文件
-i<条件> 列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号> 列出指定进程号所打开的文件
-u 列出UID号进程详情
-h 显示帮助信息
-v 显示版本信息
使用
sudo lsof -nP -iTCP:端口号 -sTCP:LISTEN
-n 表示不显示主机名,-P 表示不显示端口俗称,不加 sudo 只能查看以当前用户运行的程序,可以后接管道符 sudo lsof -nP -iTCP grep ‘8080’
原文:https://blog.csdn.net/pandafxp/article/details/53748031