Linux/Mac下如何查看某个端口被谁占用
本文由 小茗同学 发表于 2018-03-01 浏览(3923)
最后修改 2019-10-23 标签:linux port 占用 端口

方法一

lsof -i:端口号,这个很简单,也很好记,比如查看80端口被谁占用lsof -i:80

很明显被nginx占用了。

方法二

netstat -tunlp可查看当前活动网络连接(查看所有为netstat -anp):

[root@iZ94i7kwlagZ ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address			   Foreign Address			 State	   PID/Program name   
tcp		0	  0 127.0.0.1:11211			 0.0.0.0:*				   LISTEN	  1974/./memcached	
tcp		0	  0 0.0.0.0:80				  0.0.0.0:*				   LISTEN	  1481/nginx		  
tcp		0	  0 0.0.0.0:22				  0.0.0.0:*				   LISTEN	  956/sshd			
tcp		0	  0 0.0.0.0:9527				0.0.0.0:*				   LISTEN	  1490/java		   
tcp		0	  0 0.0.0.0:443				 0.0.0.0:*				   LISTEN	  1481/nginx		  
tcp		0	  0 0.0.0.0:8899				0.0.0.0:*				   LISTEN	  1481/nginx		  
tcp		0	  0 127.0.0.1:8005			  0.0.0.0:*				   LISTEN	  1490/java		   
tcp		0	  0 0.0.0.0:8009				0.0.0.0:*				   LISTEN	  1490/java		   
tcp		0	  0 0.0.0.0:3690				0.0.0.0:*				   LISTEN	  1589/svnserve	   
tcp		0	  0 0.0.0.0:3306				0.0.0.0:*				   LISTEN	  1354/mysqld		 
udp		0	  0 112.74.23.11:123			0.0.0.0:*							   965/ntpd			
udp		0	  0 10.44.74.84:123			 0.0.0.0:*							   965/ntpd			
udp		0	  0 127.0.0.1:123			   0.0.0.0:*							   965/ntpd			
udp		0	  0 0.0.0.0:123				 0.0.0.0:*							   965/ntpd			
udp		0	  0 127.0.0.1:11211			 0.0.0.0:*							   1974/./memcached

netstat -tunlp | grep 80 可对某个端口进行筛选,几个参数的含义:

-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

查看某个进程是否启动:

ps -aux | grep tomcat

结束进程

知道进程ID了就可以结束这个进程了:

kill -9 PID