Linux查看程序端口占用情况

今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。

使用命令:

ps -aux | grep tomcat

发现并没有8080端口的Tomcat进程。

使用命令:netstat –apn

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

clip_image002

发现8080端口被PID为9658的Java进程占用。

进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看

clip_image004

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


方法二:直接使用 netstat   -anp   |   grep  portno
即:netstat –apn | grep 8080

 

netstat参数说明

netstat参数虽然很多,但是常用的不多,主要是下面几个参数:

netstat -[atunlp]
-a :all,表示列出所有的连接,服务监听,Socket资料
-t :tcp,列出tcp协议的服务
-u :udp,列出udp协议的服务
-n :port number, 用端口号来显示
-l :listening,列出当前监听服务
-p :program,列出服务程序的PID
如果你需要深入了解,可以用man netstat查看netstat命令的详细说明。

 

netstat命令测试

netstat -atunlp

输出结果如下图

netstat命令演示

其中

Proto :网络传输协议,主要为tcp和udp
Local Address :本地的ip:port
Foreign Address:远程主机的ip:port(外部访问该服务的ip及端口)
State :连线状态,主要有监听( LISTEN )和建立(ESTABLISED)
PID :服务的进程编号
Program name:服务名称
上面的倒数第二行的状态ESTABLISED,因为当前我正使用putty连接到这台主机。

 

posted @ 2014-12-24 22:59  不负韶华668  阅读(873)  评论(0编辑  收藏  举报