/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) を入力するだけで、プロセスツールを実行できます。
(省略可能) pgrep コマンドからの出力を使用して、詳細情報を表示したいプロセスの識別番号を調べます。
# pgrep process |
process |
詳細情報を表示したいプロセス名 |
プロセス識別番号は、出力の第 1 列目に表示されます。
適切な /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 |
/usr/proc/bin ディレクトリを PATH 変数に追加します。
lpsched のプロセス識別番号を表示します。.
lpsched の現在の作業ディレクトリを表示します。.
lpsched が入っているプロセスツリーを表示します。.
fstat と fcntl の情報を表示します。
次の例は、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 |