Solaris 8サーバーで、特定のポートでリッスンしているプロセスを確認するにはどうすればよいですか? 'netstat'のWindows実装は、所有プロセスIDと名前をそれぞれ表示する-oスイッチと-bスイッチを提供します。 Solarisで同等のものはありますか?
lsof -i
デフォルトではインストールされませんが、Solarisバージョンは http://www.sunfreeware.com/ から入手できます。
Lsofをインストールしたくない、またはインストールできない場合は、コマンドpfiles
を試すこともできます。特定のプロセスで開いているすべてのソケットを出力します。他に選択肢がない場合は、すべてのPIDを繰り返し処理して、たとえばポート25をリッスンしているPIDを見つけることができます。
PORT=25
for p in $(ps -eo pid)
do
OUT=$(pfiles $p)
if [[ "$OUT" =~ port:\ ${PORT} ]]
then
echo $p
fi
done