
Linux で、コマンド ライン経由で指定されたプログラム名で使用されているポートのポート ステータスを見つける最もクリーンな方法を探しています。netstat -p ですべての pid がリストされることはわかりましたが、特定のプロセス名に対応するものは見つかりませんでした。どなたか助けていただければ幸いです。
答え1
理論的には、パラメータ -p と PID を含むプログラム名が表示されるはずです。自分のユーザーで実行されていないプロセスのプログラム名を表示するには、ルート権限が必要であることに注意してください。
ルート権限なしの -p:
$ 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 ルート権限
$ 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
...
...