mac下netstat_网络_pandafxp的专栏-CSDN博客

问题引入:学习web.py提示socket.error: No socket could be created ,第一想到8080端口占用,想用netstat -apn|grep ‘8080’,然而,报错~man了下发现-p是指定协议,没有想要的pid。

谷歌下,有人推荐lsof。

直接lsof

lsof(list open files):主要用于列出当前系统打开的所有文件的工具。打开的文件可以是
-** 普通文件
-** 目录
-** 块文件
-** 字符特殊文件
-**网络文件系统的文件
-**(函数)共享库
-**管道,命名管道
-**符号链接
-**网络文件(例如:NFS file、网络socket,unix域名socket)
-**还有其它类型的文件,等等

直接lsof,出现许多的打开的文件:

COMMAND     PID USER   FD      TYPE             DEVICE     SIZE       NODE NAME
init          1 root  cwd       DIR                8,2     4096          2 /
init          1 root  rtd       DIR                8,2     4096          2 /
init          1 root  txt       REG                8,2    43496    6121706 /sbin/init
init          1 root  mem       REG                8,2   143600    7823908 /lib64/ld-2.5.so
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’


原网址: 访问
创建于: 2020-05-11 01:04:39
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论