Linux查看程序端口占用情况
本文介绍linux如何查看端口被哪个进程占用的方法:
1.lsof -i:端口号
2.netstat -anp | grep protno
都可以查看指定端口被哪个进程占用的情况
一.lsof -i
lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图:
二.lsof -i:端口号
lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22,如下图:
三.netstat -anp | grep protno
即:netstat -apn | grep 8080
四.实例
发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat,发现并没有8080端口的Tomcat进程。
使用命令:netstat –apn,查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name。
发现8080端口被PID为9658的Java进程占用。进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看。
就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!
PS:
1.netstat -tunlp用于显示tcp,udp的端口和进程等相关情况,如下图:
2.netstat -tunlp | grep 端口号
netstat -tunlp | grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22,如下图:
参考文章:
http://jingyan.baidu.com/article/546ae1853947b71149f28cb7.html
http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html