Solaris のシステム管理 (第 2 巻)

プロセスに関する情報の表示 (/proc ツール)

/usr/proc/bin に入っているプロセスツールコマンドを使用すると、活動中のプロセスに関する詳細な技術情報を表示できます。表 35-2 は、これらのプロセスツールを示しています。詳細は、proc(1) のマニュアルページを参照してください。

表 35-2 情報を表示する /usr/proc/bin のプロセスツール

プロセスツール 

表示される内容 

pcred

資格 

pfiles

プロセス内で開いているファイルに関する fstat 情報と fcntl 情報

pflags

/proc 追跡フラグ、保留状態のシグナルと保持状態のシグナル、他の状態情報

pldd

プロセスにリンクされた動的ライブラリ 

pmap

アドレス空間マップ 

psig

シグナルの動作 

pstack

16 進 + シンボリックスタックトレース 

ptime

microstate アカウンティングを使用するプロセス時間

ptree

プロセスが入っているプロセスツリー 

pwait

プロセス終了後の状態情報 

pwdx

プロセスの現在の作業ディレクトリ 


注 -

長いコマンド名を入力しなくてもすむように、プロセスツールディレクトリを PATH 変数に追加してください。これにより、各ファイル名の最後の部分 (たとえば、/usr/proc/bin/pwdx ではなく pwdx) を入力するだけで、プロセスツールを実行できます。


プロセスに関する情報を表示する方法

  1. (省略可能) pgrep コマンドからの出力を使用して、詳細情報を表示したいプロセスの識別番号を調べます。


    # pgrep process
    

    process

    詳細情報を表示したいプロセス名 

    プロセス識別番号は、出力の第 1 列目に表示されます。

  2. 適切な /usr/proc/bin コマンドを使用して必要な情報を表示します。


    # /usr/proc/bin/pcommand PID
    

    pcommand

    実行したいプロセスツールコマンド。表 35-2 を参照

    PID

    プロセスの識別番号 

例 - プロセスに関する情報を表示する

次の例は、プロセスツールコマンドを使用して lpsched プロセスに関する詳細情報を表示する方法を示しています。まず、長いプロセスツールコマンドを入力しなくてもすむように、/usr/proc/bin パスが定義されています。次に、lpsched の識別番号が表示されています。最後に、3 つのプロセスツールコマンドからの出力が表示されています。


# PATH=$PATH:/usr/proc/bin
# export PATH 1
# ps -e | grep lpsched 2
207 ?        0:00 /usr/lib/lpsched
# pwdx 207 3
207:    /
# ptree 207 4
207   /usr/lib/lpsched
# pfiles 207 5
207:    /usr/lib/lpsched
  Current rlimit: 4096 file descriptors
   0: S_IFIFO mode:0000 dev:179,0 ino:70 uid:0 gid:0 size:0
      O_RDWR
   1: S_IFIFO mode:0000 dev:179,0 ino:70 uid:0 gid:0 size:0
      O_RDWR
   3: S_IFCHR mode:0666 dev:32,8 ino:11446 uid:0 gid:3 rdev:21,0
      O_WRONLY FD_CLOEXEC
   4: S_IFDOOR mode:0444 dev:183,0 ino:59515 uid:0 gid:0 size:0
      O_RDONLY|O_LARGEFILE FD_CLOEXEC  door to nscd[201]
   5: S_IFREG mode:0664 dev:32,9 ino:1330 uid:71 gid:8 size:0
      O_WRONLY
  1. /usr/proc/bin ディレクトリを PATH 変数に追加します。

  2. lpsched のプロセス識別番号を表示します。.

  3. lpsched の現在の作業ディレクトリを表示します。.

  4. lpsched が入っているプロセスツリーを表示します。.

  5. fstatfcntl の情報を表示します。

次の例は、pwait コマンドからの出力を示しています。このコマンドは、プロセスが終了するまで待ってから、発生した処理に関する情報を表示します。次の例は、コマンドツールウィンドウを閉じた後の pwait コマンドからの出力を示しています。


$ ps -e | grep cmdtool
  273 console 0:01 cmdtool
  277 console 0:01 cmdtool
  281 console 0:01 cmdtool
$ pwait -v 281
281: terminated, wait status 0x0000