感谢支持
我们一直在努力

Linux下根据端口号查询对应进程

我们经常使用netstat -lnp可以查询对应端口跟进程,但是有些端口是在netstat -lnp里却没显示对应的进程pid,如果我们使用某个端口已经被占用,需要找到对应占用端口的进程关闭之类的,此时可以通过lsof来查询对应端口的对应进程pid号,



  1. [wei@vm-cbu-qa-168-13 web-deploy]$ netstat -lnp   

  2. (Not all processes could be identified, non-owned process info  

  3.  will not be shown, you would have to be root to see it all.)  

  4. Active Internet connections (only servers)  

  5. Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name     

  6. tcp        0      0 0.0.0.0:7008                0.0.0.0:*                   LISTEN      27709/java            

  7. tcp        0      0 0.0.0.0:6208                0.0.0.0:*                   LISTEN      –                     

  8. tcp        0      0 0.0.0.0:800                 0.0.0.0:*                   LISTEN      –                     

  9. tcp        0      0 0.0.0.0:7009                0.0.0.0:*                   LISTEN      27709/java            

  10. tcp        0      0 127.0.0.1:15777             0.0.0.0:*                   LISTEN      –                     

  11. tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      –                     

  12. tcp        0      0 127.0.0.1:15778             0.0.0.0:*                   LISTEN      –                     

  13. tcp        0      0 0.0.0.0:35559               0.0.0.0:*                   LISTEN      27709/java            

  14. tcp        0      0 0.0.0.0:55336               0.0.0.0:*                   LISTEN      27709/java            

  15. tcp        0      0 0.0.0.0:4200                0.0.0.0:*                   LISTEN      –                     

  16. tcp        0      0 0.0.0.0:58666               0.0.0.0:*                   LISTEN      –                     

  17. tcp        0      0 0.0.0.0:845                 0.0.0.0:*                   LISTEN      –                     

  18. tcp        0      0 0.0.0.0:4110                0.0.0.0:*                   LISTEN      –                     

  19. tcp        0      0 0.0.0.0:4207                0.0.0.0:*                   LISTEN      –                     

  20. tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      –                     

  21. tcp        0      0 0.0.0.0:20880               0.0.0.0:*                   LISTEN      –                     

  22. tcp        0      0 0.0.0.0:4208                0.0.0.0:*                   LISTEN      –                     

  23. tcp        0      0 0.0.0.0:18000               0.0.0.0:*                   LISTEN      –                     

  24. tcp        0      0 0.0.0.0:18001               0.0.0.0:*                   LISTEN      –                     

  25. tcp        0      0 0.0.0.0:18002               0.0.0.0:*                   LISTEN      –                     

  26. tcp        0      0 0.0.0.0:42483               0.0.0.0:*                   LISTEN      –                     

  27. tcp        0      0 0.0.0.0:48116               0.0.0.0:*                   LISTEN      –                     

  28. tcp        0      0 10.20.168.13:8022           0.0.0.0:*                   LISTEN      –          

比如我们要查询20880端口被那个进程占用,netstat查询不出来



  1. [wei@vm-cbu-qa-168-13 web-deploy]$ netstat -lnp | grep 20880      (Not all processes could be identified, non-owned process info  

  2.  will not be shown, you would have to be root to see it all.)  

  3. tcp        0      0 0.0.0.0:20880               0.0.0.0:*                   LISTEN     

我们用lsof来查询下



  1. [wei@vm-cbu-qa-168-13 web-deploy]$ lsof -Pnl +M -i4 | grep 20880  

  2. java      15239      710  260u  IPv4 87019792       TCP 10.20.168.13:35822->10.20.172.31:20880 (ESTABLISHED)  

  3. java      15239      710  285u  IPv4 87038933       TCP 10.20.168.13:43058->10.20.172.93:20880 (ESTABLISHED)  

  4. java      25755      712  544u  IPv4 87265535       TCP *:20880 (LISTEN)  

  5. java      25755      712  562u  IPv4 87265755       TCP 10.20.168.13:40151->10.20.168.16:20880 (ESTABLISHED)  

  6. java      25755      712  563u  IPv4 87265695       TCP 10.20.168.13:59947->10.20.151.21:20880 (ESTABLISHED)  

  7. java      25755      712  564u  IPv4 87265696       TCP 10.20.168.13:47042->10.20.142.80:20880 (ESTABLISHED)  

  8. java      25755      712  565u  IPv4 87265703       TCP 10.20.168.13:40939->10.20.141.52:20880 (ESTABLISHED)  

  9. java      25755      712  570u  IPv4 87265751       TCP 10.20.168.13:43361->10.20.141.141:20880 (ESTABLISHED)  

  10. java      25755      712  571u  IPv4 87265753       TCP 10.20.168.13:40960->10.20.143.111:20880 (ESTABLISHED)  

  11. java      25755      712  572u  IPv4 87265752       TCP 10.20.168.13:45368->10.20.141.63:20880 (ESTABLISHED)  

  12. java      25755      712  573u  IPv4 87265754       TCP 10.20.168.13:34315->10.20.168.17:20880 (ESTABLISHED)  

  13. java      27709      713  339u  IPv4 87271862       TCP 10.20.168.13:50212->10.20.172.11:20880 (ESTABLISHED)  

  14. java      27709      713  341u  IPv4 87271859       TCP 10.20.168.13:41128->10.20.172.88:20880 (ESTABLISHED)  

  15. java      27709      713  347u  IPv4 87271865       TCP 10.20.168.13:46782->10.20.172.1:20880 (ESTABLISHED)  

可以看到监听20880端口的是进程pid是25755,user是   712


i4是查询ipv4端口



  1. [wei@vm-cbu-qa-168-13 web-deploy]$ lsof -Pnl +M -i4               

  2. COMMAND     PID     USER   FD   TYPE   DEVICE SIZE NODE NAME  

  3. portmap    1616       32    3u  IPv4     3488       UDP *:111[portmapper]   

  4. portmap    1616       32    4u  IPv4     3489       TCP *:111[portmapper] (LISTEN)  

  5. DragoonAg  4153        0    6u  IPv4 28872832       TCP 10.20.168.13:54978->10.20.149.114:13888 (ESTABLISHED)  

  6. DragoonAg  4153        0    8u  IPv4 28872826       TCP 127.0.0.1:15777 (LISTEN)  

  7. DragoonAg  4153        0   10u  IPv4 28872828       TCP 127.0.0.1:15778 (LISTEN)  

  8. DragoonAg  4153        0   12u  IPv4 28872836       UDP 10.20.168.13:13777->10.20.149.114:60569   

  9. DragoonAg  4153        0   13u  IPv4 86898035       TCP 10.20.168.13:38027->10.20.159.108:15888 (ESTABLISHED)  

  10. DragoonAg  4153        0   15u  IPv4 86648332       TCP 127.0.0.1:15777->127.0.0.1:41653 (ESTABLISHED)  

  11. python    10488        0    4u  IPv4   292127       TCP 10.20.168.13:8022 (LISTEN)  

  12. java      15239      710    5u  IPv4 86647757       TCP *:4208 (LISTEN)  

  13. java      15239      710   15u  IPv4 86647829       TCP *:35485 (LISTEN)  

  14. java      15239      710   18u  IPv4 86647831       TCP *:4207 (LISTEN)  

  15. java      15239      710   20u  IPv4 86647833       TCP *:42483 (LISTEN)  

  16. java      15239      710   22u  IPv4 87286934       TCP 10.20.168.13:44190->110.75.194.17:80 (CLOSE_WAIT)  

  17. java      15239      710  246u  IPv4 86648330       TCP 127.0.0.1:41653->127.0.0.1:15777 (ESTABLISHED)  

  18. java      15239      710  253u  IPv4 86648976       TCP *:4110 (LISTEN)  

  19. java      15239      710  255u  IPv4 87010313       TCP 10.20.168.13:4110->10.20.172.31:38036   


  1. [wei@vm-cbu-qa-168-13 web-deploy]$ lsof -Pnl +M -i6   

  2. COMMAND   PID     USER   FD   TYPE   DEVICE SIZE NODE NAME  

  3. cfservd  5513        0    4u  IPv6    17813       TCP *:5308 (LISTEN)  

  4. java    13334        0   64u  IPv6 85851503       TCP 10.20.168.13:46591->10.20.145.12:57126 (ESTABLISHED)  

  5. java    13334        0   65u  IPv6 86276005       TCP 10.20.168.13:34506->10.20.172.85:80 (CLOSE_WAIT)  

  6. java    13334        0   66u  IPv6 86313523       TCP 10.20.168.13:36320->10.20.172.85:80 (CLOSE_WAIT)  

  7. java    13334        0   67u  IPv6 86382763       TCP 10.20.168.13:52680->10.20.172.85:80 (CLOSE_WAIT)  

  8. java    13334        0   71u  IPv6 85851508       TCP *:58126 (LISTEN)  

lsof命令参数解释


  1) -P :这个选项约束着网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。


  2) -n : 这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在��机名称的查找不能奏效时,它非常有用。


  3) -l :这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。


  4) +M :此选项支持本地TCP和UDP端口映射程序的注册报告。


  5) -i4 :仅列示IPv4协议下的端口。


  6) -i6 : 仅列示IPv6协议下的端口。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux下根据端口号查询对应进程
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏