如何在Linux中找到进程的端口?
我试过了:
netstat -a -p | grep'processID'
但是如果进程没有运行,那么就没有进程ID,在这种情况下我无法获得端口。
我没有在任何服务器上运行该进程,只是运行我的Java进程的JVM实例。
有没有办法在端口运行时找到它,还是在任何文件中定义然后如何搜索?
答案 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 cwd
和
lsof -p 5394 | grep cwd