
我正在尋找 Linux 上最乾淨的方法來透過命令列查找指定程式名稱使用的連接埠的連接埠狀態。我已經看到 netstat -p 列出了所有 pid,但沒有看到與特定進程名稱相對應的任何內容。任何幫助,將不勝感激。
答案1
理論上,您應該會看到帶有參數 -p 的程式名稱和 PID。請注意,您需要 root 權限才能顯示不在您的使用者下執行的進程的程式名稱。
-p 沒有root權限:
$ netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
...
...
-p 具有root權限
$ sudo netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1553/apache2
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1392/vsftpd
...
...