AIX檢視某個埠被哪個程式佔用並處理

guyuanli發表於2012-09-14

問題描述:

在系統管理過程中經常遇到的情況就是在啟動某個程式時,會提示埠被佔用。如啟動WebSphere管理控制檯時經常碰到9090埠被佔用。用 netstat -an | grep 9090 可以看到該埠正被監聽,但卻不知道是哪個程式佔用了該埠,當然也可以改變埠但比較麻煩。如果能找到是哪個程式佔用了該埠,把這個程式kill掉就可以了。

問題解決:[@more@]

1. netstat -Aan|grep

找到該埠連線對應的 PCB/ADDR 和連線的協議型別。

注:PCB ----Protocol Control Block

2. 如果是 tcp 連線,則 rmsock tcpcb

如果是 udp 連線,則 rmsock inpcb

下面我們以 telnet 服務所使用的 23 號埠為例,說明該方法:

#netstat -Aan|grep 23

f1000200019ce398 tcp 0 0 *.23 *.* LISTEN

可以看到 PCB/ADDR f1000200019ce398 ,且協議型別為 tcp

#rmsock f1000200019ce398 tcpcb

The socket 0x19ce008 is being held by proccess 185006 (inetd).

命令報告該埠正在被 inetd 程式使用, PID 185006

注意: rmsock 命令需要 root 許可權執行。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1059419/,如需轉載,請註明出處,否則將追究法律責任。

相關文章