Linux 中如何查询端口被占用的情况
1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看80端口使用情况,lsof -i:80
如果没有安装lsof 需要yum install lsof
[root@localhost ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 22798 root 10u IPv4 617071 0t0 TCP *:http (LISTEN) nginx 22799 www 10u IPv4 617071 0t0 TCP *:http (LISTEN) nginx 22801 www 10u IPv4 617071 0t0 TCP *:http (LISTEN) nginx 22802 www 10u IPv4 617071 0t0 TCP *:http (LISTEN) nginx 22803 www 10u IPv4 617071 0t0 TCP *:http (LISTEN) [root@localhost ~]# yum install lsof
2:2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看80端口的情况,netstat -tunlp |grep 80
-t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名
[root@localhost ~]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 32507/smbd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 22798/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4024/sshd tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 22798/nginx: master tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 32507/smbd tcp6 0 0 :::3306 :::* LISTEN 23332/mysqld tcp6 0 0 :::139 :::* LISTEN 32507/smbd tcp6 0 0 :::21 :::* LISTEN 14459/vsftpd tcp6 0 0 :::22 :::* LISTEN 4024/sshd tcp6 0 0 :::445 :::* LISTEN 32507/smbd tcp6 0 0 :::33060 :::* LISTEN 23332/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 32682/dhclient udp 0 0 127.0.0.1:323 0.0.0.0:* 3504/chronyd udp6 0 0 ::1:323 :::* 3504/chronyd [root@localhost ~]#
[root@localhost ~]# netstat -tunlp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 22798/nginx: master [root@localhost ~]#