web-dev-qa-db-ja.com

Solaris 8でリスニングソケットがバインドされているプロセスを確認するにはどうすればよいですか?

Solaris 8サーバーで、特定のポートでリッスンしているプロセスを確認するにはどうすればよいですか? 'netstat'のWindows実装は、所有プロセスIDと名前をそれぞれ表示する-oスイッチと-bスイッチを提供します。 Solarisで同等のものはありますか?

3
Murali Suriar

lsof -i

デフォルトではインストールされませんが、Solarisバージョンは http://www.sunfreeware.com/ から入手できます。

6
vartec

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
4
automatthias