Linux查看程序端口占用情况

本文介绍linux如何查看端口被哪个进程占用的方法:

1.lsof -i:端口号

2.netstat -anp | grep protno

都可以查看指定端口被哪个进程占用的情况

一.lsof -i

        lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图:

Linux查看程序端口占用情况

二.lsof -i:端口号

        lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22,如下图:

Linux查看程序端口占用情况
 

三.netstat -anp | grep protno

        即:netstat -apn | grep 8080

四.实例

        发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat,发现并没有8080端口的Tomcat进程。

        使用命令:netstat –apn,查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name。

Linux查看程序端口占用情况
        发现8080端口被PID为9658的Java进程占用。进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看。

Linux查看程序端口占用情况
        就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

PS:

1.netstat -tunlp用于显示tcp,udp的端口和进程等相关情况,如下图:

Linux查看程序端口占用情况

2.netstat -tunlp | grep 端口号

        netstat -tunlp | grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22,如下图:

Linux查看程序端口占用情况

参考文章:

http://jingyan.baidu.com/article/546ae1853947b71149f28cb7.html

http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html

相关推荐