1

我在 unix 上有一个大型 Java 系统,其中有许多子系统(电子邮件、连接等),它们侦听许多端口,但我不知道我的哪些类\子系统侦听哪个端口。

有没有工具可以帮助我解决这个问题?

示例:这是我在运行 netstat 时得到的,我不知道我的 java 系统中什么在使用端口 2503 和什么 2505

>netstat -nap |grep 250
Proto Recv-Q Send-Q Local Address    Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:2503     0.0.0.0:*                   LISTEN      26659/java
tcp        0      0 0.0.0.0:2505     0.0.0.0:*                   LISTEN      26659/java
4

2 回答 2

1

相同的 PID/应用程序使用 2 个端口。你有你的答案。

鉴于根据提供的信息,答案是如此明显,因此您必须更加具体地解决您的问题;我只能假设这不是你要找的

于 2013-04-18T19:17:42.423 回答
0

获得 PID 后,您可以使用 ps

ps -Af |grep 26659 |less

-f 选项不仅会显示正在使用该端口的程序 (java),还会显示用于启动它的命令行。因此,如果您有多个 java 进程正在运行,并且每个进程都作为单独的任务启动,您将看到哪个进程正在使用该端口。

您可能希望在“less”中查看结果,以便滚动 java 常用的很长的命令行。

于 2013-12-26T17:40:06.413 回答