linux查看端口被哪个进程占用的两种方法 linux查看端口被哪个进程占用的两种方法(1)

方法一 netstat

linux查看端口占用一般使用"netstat"命令,有时候"netstat"命令可能没有预装,则需要先进行安装 "yum install net-tools"。比如用"netstat"命令查看80端口被哪进程占用

[root@localhost ~]# netstat -anp | grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 22500/nginx: master

其中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端口的意思,如果你查的是非常用端口则会以端口数字号显示。

,