如何找出进程正在使用的端口号

时间:2014-11-29 16:49:29

标签: linux macos unix ubuntu terminal

我希望能够找出进程的端口号,并使用关键字过滤结果。

例如,我可能想快速找出“node”js apps正在使用哪些端口号。

这不起作用:

netstat tulnap | grep "node"

这没有返回端口号:

ps aux | grep node

3 个答案:

答案 0 :(得分:5)

这就是我找到解决方案的方法:

     » lsof -i -P  | grep node
    node      14489 me   12u  IPv4 0x...      0t0    TCP *:4000 (LISTEN)

此外,如果我知道端口,我正在寻找流程名称,我会:

     » lsof -i :4000
    COMMAND   PID       USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
    node    14489 me   12u  IPv4 0x...      0t0  TCP *:terabase (LISTEN)

答案 1 :(得分:1)

有效的互联网连接(没有服务器)

netstat -pnt 

活动互联网连接(仅限服务器)

netstat -pntl

答案 2 :(得分:-2)

你所做的事情也可能永远不会奏效,因为GREP永远不能保证提供一个,一个或多于一个的结果。

但是,根据您的具体情况,任何流程实际上都是唯一的,并且具有唯一的编号。因此,您必须先进行搜索才能找到进程号。

执行简单的grep仍然会为您提供无,一个或多个进程号。但是您需要找到一个额外的过滤器,以便最终得到1个进程号。

如果您有1个进程号,则可以检查该进程使用的端口。

是什么让你觉得PS中有“节点”?它也可能不是。