Linux查看程序端口占用情况 - go2coding

Linux查看程序端口占用情况

经常启动http服务器的时候,发现起不来,比如Tomcat,查看日志才发现提示端口已经被占用了。

这里有几个命令比较重要,

查找被占用的进程

查看 tomcat是否启动了:

ps -aux | grep tomcat

结果没有发现tomcat进程:

root@ubuntu:/data/server/wwwroot/tolearncode/protected/controllers# ps -aux | grep tomcat
root     22623  0.0  0.0  14224   976 pts/0    S+   17:30   0:00 grep --color=auto tomcat

查看一下所有的进程和端口使用情况。

netstat –apn

显示如下:

root@ubuntu:/data/server/wwwroot/tolearncode/protected/controllers# netstat –apn
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.60.127:51706    192.168.60.127:mysql    TIME_WAIT  
tcp        0      0 192.168.60.127:51708    192.168.60.127:mysql    TIME_WAIT  
tcp        0      0 192.168.60.127:27017    192.168.40.34:60734     ESTABLISHED
tcp        0      0 192.168.60.127:27017    192.168.40.34:49490     ESTABLISHED
tcp        0      0 192.168.60.127:51716    192.168.60.127:mysql    TIME_WAIT  
tcp        0      0 192.168.60.127:ssh      192.168.40.34:54673     ESTABLISHED
tcp        0      0 192.168.60.127:51710    192.168.60.127:mysql    TIME_WAIT  
tcp        0      0 192.168.60.127:51696    192.168.60.127:mysql    TIME_WAIT

可以查看8080端口被谁占用了,如果知道被那个进程占用了,

进一步使用命令:

ps -aux | grep pid #查看

端口过滤8080

直接使用 netstat -anp | grep portno

即:

netstat –apn | grep 8080

更多教程:阿猫学编程