Linux
如何找到完整的程序參數和相關的監聽埠?
我可以執行
netstat -atulpn | grep java
以查找所有 Java 程序及其附帶的埠,這很棒,但是我還希望顯示程序的完整執行參數。我不相信這是可能的,netstat
從我到目前為止探索的所有內容中,所以我想我必須編寫一個腳本來處理輸出,netstat
然後將 pids 傳遞到ps
然後美化輸出以顯示ip+port 和完整的命令行。有沒有更好的方法來做到這一點,或者這是唯一的選擇?
ss -lnptu 通過呼叫 ps -p 通過管道傳輸到 awk。我在移動設備上,所以現在打出一個完整的例子有點棘手。
監聽套接字:
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
所有套接字(可能需要一些額外的過濾,因為套接字在 TIME_WAIT 中沒有程序資訊等):
ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'