Linux

如何進行僅基於 pid 過濾的 netstat

  • January 18, 2015

如何根據我正在尋找的 PID 顯示/過濾以下命令?

sudo netstat -lp --inet

結果回來了

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:1508                  *:*                     LISTEN      7609/kodi.bin   
tcp        0      0 *:38565                 *:*                     LISTEN      18079/Plex Plug-in 
tcp        0      0 *:59240                 *:*                     LISTEN      24656/Plex Plug-in 
tcp        0      0 *:46185                 *:*                     LISTEN      18427/Plex Plug-in 
tcp        0      0 *:netbios-ssn           *:*                     LISTEN      989/smbd        
tcp        0      0 *:34061                 *:*                     LISTEN      25066/Plex Plug-in 
tcp        0      0 *:59310                 *:*                     LISTEN      18190/Plex Plug-in 
tcp        0      0 *:50383                 *:*                     LISTEN      18243/Plex Plug-in 
tcp        0      0 *:48336                 *:*                     LISTEN      18081/Plex Plug-in 
tcp        0      0 *:32400                 *:*                     LISTEN      17990/Plex Media Se
tcp        0      0 *:1136                  *:*                     LISTEN      7609/kodi.bin   
tcp        0      0 localhost:http-alt      *:*                     LISTEN      21149/syncthing 

我只想要其中包含PID 7609/kodi.bin的行。所以最終的輸出看起來像下面的例子。

tcp        0      0 *:1508                  *:*                     LISTEN      7609/kodi.bin
tcp        0      0 *:1136                  *:*                     LISTEN      7609/kodi.bin  

netstat本身不支持這樣的過濾。

您可能必須執行以下操作:

sudo netstat -lp --inet | grep " $pid/"

引用自:https://unix.stackexchange.com/questions/179733