如何在Unix中查找特定进程ID的端口号?

13
在UNIX操作系统中,当我知道进程名称或pid时,如何找到端口号?
2个回答

19
netstat -pl | grep NAME_OR_PID

指定“-p”标志通常后接协议。 - Emmanuel John
@unekwu 错误了。请阅读man页。-p, --program: 显示每个套接字所属程序的PID和名称。 你想的是 --protocol,它是不同的。 - Chris Eberle
1
当我在我的电脑上运行此命令时,我收到“netstat: l: unknown or uninstrumented protocol”的错误提示。 - Emmanuel John
@unekwu,那么你有一个非标准的netstat实现。我的是“net-tools 2.10 alpha”套件的一部分,在Arch Linux下运行。 - Chris Eberle
2
我明白了。对于OSX来说是不同的。我试图点赞,但它说在编辑之前我不能点赞。如果你包括它不适用于Mac,我会再次点赞的。 - Emmanuel John

0

ss -plnt | grep PID | gawk '{print $4}' | sed -e 's/[^0-9]//g'

ss -plnt | grep PID | gawk '{print $4}' | sed -e 's/[^0-9]//g'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接