方法一 netstat
Linux查看端口占用一般使用”netstat”命令,有時候”netstat”命令可能沒有預裝,則需要先進行安裝 “yum install net-tools”。
比如用”netstat”命令查看80端口被哪進程占用
其中tcp表示協議,”0.0.0.0:80″表示監聽IP,22500表示主進程ID,nginx表示占用80端口的進程名稱。
“netstat”命令參數:
-a 參數表示顯示所有連接和監聽中的套接字,
-n 參數表示使用數字格式顯示地址和端口號,
-p 參數表示顯示占用連接的進程信息。
grep <端口號> 表示查找過濾。
方法二 lsof
同樣如果系統沒有預裝,則需要自己安裝下”yum install lsof”
[root@localhost ~]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 22500 root 7u IPv4 194483 0t0 TCP *:http (LISTEN) nginx 22501 www 7u IPv4 194483 0t0 TCP *:http (LISTEN) nginx 22502 www 7u IPv4 194483 0t0 TCP *:http (LISTEN) nginx 22503 www 7u IPv4 194483 0t0 TCP *:http (LISTEN) nginx 22504 www 7u IPv4 194483 0t0 TCP *:http (LISTEN)
同樣能一目了然看到進程名稱、進程ID以及協議等。
COMMAND 表示占用端口的進程名,PID 表示進程 ID,USER 表示運行該進程的用戶,TCP *:http (LISTEN) 表示監聽所有 IP 地址的 http端口,http即80端口的意思,如果你查的是非常用端口則會以端口數字號顯示。