天天看點

AIX檢視端口被占用

問題描述:aix系統發現系統起來之後再起應用總是有端口被占用,通過lsof -i:port 看不到

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

問題解決: 

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權限執行。

本文轉自 aklaus 51CTO部落格,原文連結:http://blog.51cto.com/aklaus/1768043

繼續閱讀