![在 Mac OS X 上如何使用“fuser -v -n tcp”替代](https://linux22.com/image/1259941/%E5%9C%A8%20Mac%20OS%20X%20%E4%B8%8A%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E2%80%9Cfuser%20-v%20-n%20tcp%E2%80%9D%E6%9B%BF%E4%BB%A3.png)
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 以及端口号/服务名称。