【问题标题】:How can I find the ports of a process (Java) in Linux even when the process is stopped即使进程停止,如何在 Linux 中找到进程 (Java) 的端口
【发布时间】:2015-05-29 10:59:46
【问题描述】:

如何在 Linux 中找到进程的端口?

我试过了:

netstat -a -p | grep'processID'

但如果进程没有运行,则没有进程 ID,在这种情况下我无法获取端口。

我没有在任何服务器上运行该进程,只是一个运行我的 Java 进程的 JVM 实例。

如果端口正在运行,有没有办法找到它,或者它会在任何文件中定义然后如何搜索?

【问题讨论】:

    标签: java linux port


    【解决方案1】:

    如果一个进程没有运行,它没有任何打开的套接字,所以它没有任何端口。

    如果您的进程有一个配置文件,它使用的端口可能在该文件中定义。但话又说回来,它们可能不会——某些服务器可能使用预定义的端口(例如,用于 Web 服务器的端口 80)。

    长话短说,,您通常无法确定一个不存在的进程在运行时会使用哪些端口。

    【讨论】:

      【解决方案2】:

      如果该进程侦听端口,您可以找到该进程的端口。如果进程停止,如果它正在使用一个端口,我们将无法知道它正在使用哪个端口。 假设你正在寻找一个正在运行的 java 进程,你可以这样做

      从以下位置识别 PID:

      netstat -nap | grep java

      [root@portalserv02 ~]# netstat -nap | grep java | less
      tcp        0      0 :::36695                    :::*                        LISTEN      5393/java
      tcp        0      0 :::21080                    :::*                        LISTEN      5394/java
      

      使用以下命令识别应用程序

      lsof -p 5393 | grep cwdlsof -p 5394 | grep cwd

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-09
        • 2010-10-30
        • 1970-01-01
        • 2018-08-10
        • 1970-01-01
        • 2010-09-22
        相关资源
        最近更新 更多