1. 首頁
  2. 計算機軟體

linux如何檢視埠被哪個程序佔用?

linux如何檢視埠被哪個程序佔用?

我們在使用linux系統的.伺服器時我們又時會突然發現發現伺服器上某個埠起不來,老提示埠已經被佔用。而對於這種情況我們該怎麼解決呢?

使用命令:

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命令幹掉!

方法二:直接使用

 netstat -anp | grep portno

即:netstat –apn | grep 8080

方法三:

Linux:

cba001:~ # lsof -i:5300

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

named 26751 root 20u IPv4 64750499 TCP localhost:hacl-hb (LISTEN)

named 26751 root 21u IPv4 64750501 TCP cba001.eapac:hacl-hb (LISTEN)

named 26751 root 22u IPv4 64750503 TCP 192.168.0.10:hacl-hb (LISTEN)

named 26751 root 512u IPv4 64750498 UDP localhost:hacl-hb

named 26751 root 513u IPv4 64750500 UDP cba001.eapac:hacl-hb

named 26751 root 514u IPv4 64750502 UDP 192.168.0.10:hacl-hb

[注]:執行lsof -i:5300以後就可以看到26751程序在TCP和UDP上都打開了5300埠.

cba001:~ # ps -ef|grep 26751

root 10118 26915 0 12:59 pts/8 00:00:00 grep 26751

root 26751 1 0 Jul06 ? 00:02:06 /opt/ipworks/IPWdns/usr/bin/named

[注]:執行ps -ef|grep 26751以後就可以看到是named程序打開了5300埠

檢視程序ID:

lsof -w -n -i tcp:8080

fuser -n tcp 8080netstat -anp|grep :8080[[:blank:]]

殺掉佔用埠的程序PID:

kill -9 pidnumber