在 Mac OS X 上如何使用“fuser -v -n tcp”替代

在 Mac OS X 上如何使用“fuser -v -n tcp”替代

Mac OS X 上的 fuser 命令相当原始,无法检查特定端口上正在监听的进程。有人知道一个好的替代方案吗?知道哪个进程正在监听该端口就足够了。

答案1

正如 @vcsjones 在评论中所说,lsof这个工具是这样的:

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

如果不使用-i,则会显示所有打开的文件;如果只-i使用 ,则仅显示网络文件;如果在 之后指定某些内容,则-i可以通过以下任何一项或全部进行限制:IPv4/6、TCP/UDP、主机名或 IP 以及端口号/服务名称。

相关内容