歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下根據端口號查詢對應進程

Linux下根據端口號查詢對應進程

日期:2017/2/28 15:34:24   编辑: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協議下的端口。

Copyright © Linux教程網 All Rights Reserved