有时候需要在Linux下查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看Hadoop的namenode在哪个端口上运行,以便在eclipse中连接。一种方法如下,可能比较搓,请大牛指教!
首先用ps命令查看进程的id:
$ ps -ef | grep Name
其中每一行(很长的时候会占用若干行)的第二个字段就是进程的id。
当然,对于在java虚拟机中运行的进程,比如hadoop的守护进程,可以直接用jsp命令查看:
$ jps | grep Name
或者已经知道进程的确切名称,可以用pidof查看:
$ pidof Name
查看到进程id之后,使用netstat命令查看其占用的端口:
$ netstat -nap | grep pid