即使进程停止,如何在Linux中找到进程(Java)的端口

时间:2015-03-25 16:33:15

标签: java linux port

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

我试过了:

netstat -a -p | grep'processID'

但是如果进程没有运行,那么就没有进程ID,在这种情况下我无法获得端口。

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

有没有办法在端口运行时找到它,还是在任何文件中定义然后如何搜索?

2 个答案:

答案 0 :(得分:0)

如果进程没有运行,它没有任何打开的套接字,因此它没有任何端口。

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

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

答案 1 :(得分:0)

如果进程侦听端口,您可以找到该进程的端口。如果进程停止,我们无法知道它正在使用哪个端口,如果它正在使用一个端口。 假设你正在寻找一个正在运行的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