Linux

如何找到完整的程序參數和相關的監聽埠?

  • February 26, 2019

我可以執行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]); }'

引用自:https://serverfault.com/questions/576910