Linux下通过端口找到对应的程序

比如我们已知端口5600被占用,需要找到是哪个程序占用了,可以通过如下方式进行查找。
1. 先通过lsof命令找到打开该端口对应的程序的PID。

[yuanping@Linux C]$ lsof -i :5600
COMMAND  PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
server  4643 yuanping    3u  IPv4 1286699      0t0  TCP *:esmmanager (LISTEN)

2. 通过PID找到对应的文件,这里的4643就是上面步骤中找到的程序的PID。

[yuanping@Linux C]$ ls -l /proc/4643/exe
lrwxrwxrwx. 1 yuanping yuanping 0 Jan  8 23:08 /proc/4643/exe -> /home/yuanping/Code/C/server
[yuanping@Linux C]$ 

或者可以通过如下一个语句完成,其中5600换成你的端口。

[yuanping@Linux C]$ ls -l /proc/`lsof -i :5600 | awk -F " " '{print $2}' | grep -v "PID" | sort | uniq`/exe
lrwxrwxrwx. 1 yuanping yuanping 0 Jan  8 23:08 /proc/4643/exe -> /home/yuanping/Code/C/server
[yuanping@Linux C]$ 

 

posted @ 2013-01-08 23:18  Yuan Ping  阅读(577)  评论(0编辑  收藏  举报