我在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
答案 0 :(得分:1)
相同的PID / app正在使用2个端口。你有答案。
鉴于根据所提供的信息,答案是如此明显,你必须对你的问题更加具体。我只能假设这不是你正在寻找的东西
答案 1 :(得分:0)
获得PID后,可以使用ps
ps -Af | grep 26659 | less
-f选项不仅会显示正在使用该端口的程序(java),还会显示用于启动它的命令行。因此,如果您运行多个java进程,并且每个进程都作为单独的任务启动,您将看到哪个正在使用该端口。
您可能希望以“less”查看结果,以便可以滚动java常用的超长命令行。