【问题标题】:How to find out which Port number a process is using如何找出进程正在使用的端口号
【发布时间】:2015-01-28 01:17:02
【问题描述】:

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

例如,我可能想快速找出“节点”js 应用程序正在使用哪些端口号。

这不起作用:

netstat tulnap | grep "node"

这没有返回端口号:

ps aux | grep node

【问题讨论】:

  • 你试过netstat -anp | grep 节点
  • 顺便说一句,我注意到在 osx 上该命令没有连字符。这是我得到的结果,没用: 地址类型 Recv-Q Send-Q Inode Conn Refs Nextref Addr

标签: linux macos unix ubuntu terminal


【解决方案1】:

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

     » 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)

【讨论】:

    【解决方案2】:

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

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

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

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

    是什么让您认为 PS 中报告了“节点”?也可能不是。

    【讨论】:

      【解决方案3】:

      活跃的互联网连接(无服务器)

      netstat -pnt 
      

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

      netstat -pntl
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-23
        • 2019-09-16
        • 1970-01-01
        • 2015-03-18
        • 2018-12-27
        • 1970-01-01
        • 2016-12-30
        相关资源
        最近更新 更多