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的主机上没有列出任何进程信息...这就是问题所在。