linxu 系統如何查看佔用端口8080的進程

 今天發現服務器上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

linux下查看端口占用情況:

    1.查看哪個進程佔用了819端口:

    case9-sghfofo:/usr/local/cnbj/tomcat-bj/bin # lsof -i:859

    運行後的結果:

    COMMAND   PID USER   FD   TYPE    DEVICE SIZE NODE NAME

    java    24907 root   31u  IPv4 248905027       TCP *:859 (LISTEN)

    由以上我們知道了859端口被進程號爲24907的進程佔用了, 是個java進程。

    2.查看進程號爲24907的進程在哪裏:

    case9-sghfofo:/usr/local/cnbj/tomcat-bj/bin # ps -ef|grep 24907

    root     13421 29276  0 20:08 pts/2    00:00:00 grep 24907

    root     24907     1  0 11:43 pts/4    00:03:53 /usr/java/jdk1.6.0_13/bin/java -server -XX:PermSize=256M -XX:MaxPermSize=512m -Xbootclasspath/p:java-net-Socket.jar -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/usr/local/cnsh/tomcat-sh/conf/logging.properties -Djava.endorsed.dirs=/usr/local/cnsh/tomcat-sh/bin/endorsed -classpath :/usr/local/cnsh/tomcat-sh/bin/bootstrap.jar -Dcatalina.base=/usr/local/cnsh/tomcat-sh/bin -Dcatalina.home=/usr/local/cnsh/tomcat-sh/bin -Djava.io.tmpdir=/usr/local/cnsh/tomcat-sh/bin/temp -Xmx512m -Xms256m org.apache.catalina.startup.Bootstrap start

    由以上我們知道是目錄爲/usr/local/cnsh/tomcat-sh/bin/的tomcat佔用了。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章