Answers:
如果您对特定端口感兴趣,可以使用以下示例:
lsof -i 4tcp:8080 -sTCP:LISTEN
如果只想获取进程ID,则可以运行以下命令:
lsof -i 4tcp:8080 -sTCP:LISTEN -Fp
当我想查看TCP或UDP特定端口上的所有内容时,请使用以下命令。该-n选项禁止尝试将IP地址解析为域名,并且-P禁止尝试找出特定端口的名称。另外,以as身份运行root将比以普通用户身份运行向您显示更多的进程。
sudo lsof -iTCP:53 -iUDP:53 -n -P
以下代码示例列出了本地OSX计算机上所有正在运行的TCP服务器:
netstat -a -Ptcp | egrep 'tcp4.*LISTEN'
tcp4 0 0 127.0.0.1.2022 *.* LISTEN 0 0
tcp4 0 0 *.3141 *.* LISTEN 0 0
LISTEN仅显示监听连接的套接字。即服务器。
第一行显示一个服务器绑定到localhost,又名127.0.0.1,端口2022。它将回答本地请求,而不是基于Internet的请求。
第二行是绑定到所有地址(即*port )的服务器3141。它会回答上网查询。
要列出客户端和服务器使用的端口,请使用以下命令:
netstat -an -Ptcp | grep tcp4
netstat在基于BSD的主机上没有列出任何进程信息...这就是问题所在。