bar_1

contents_map

2007年11月19日月曜日

Investigate between PID and Descriptor.

素性が悪く、ある程度の規模のシステムである場合、アプリケーション・プログラム個別の振る舞いを調べるために、下記のようなことを調べたくなることがある:
  • あるファイルやソケット使用しているプロセスは、どいつ(ら)なのか?
  • あるプロセス使用している、ファイルやソケットはどいつ(ら)なのか?


前者を調べるには、fuser(1)コマンドが利用できる。
一方、後者をlsof(1)コマンドを利用する。
これらのコマンドでは、/procファイルシステムなどカーネルに近いデータにアクセスするため、rootで実行する必要がある。
fuserは、Linux, Solarisともにデフォルトで利用できる。
lsofは、すくなくともSolarisにデフォルトで用意されてはいないようだ。ソースコードは、ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
から入手できる[1]。移植性がよく考慮されたソースコードは、コンパイルが非常に楽だ。
[1] http://docs.sun.com/source/819-3789-10/methodology_security_toolkit.html#50597890_marker-829146

0 件のコメント:

コメントを投稿

何かありましたら、どうぞ: