/usr/proc/bin に入っているプロセスツールコマンドを使用すると、アクティブなプロセスに関する詳細な技術情報を表示できます。表 63-2 は、これらのプロセスツールを示しています。詳細は proc(1) のマニュアルページを参照してください。
表 63-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) を入力するだけで、プロセスツールを実行できます。
(省略可能) ps コマンドからの出力を使用して、詳細情報を表示したいプロセスの識別番号を調べます。
# ps -e | grep process
process |
詳細情報を表示したいプロセスの名前 |
プロセス識別番号は、出力の第 1 列目に表示されます。
適切な /usr/bin/proc コマンドを使用して必要な情報を表示します。
# /usr/proc/bin/pcommand pid
pcommand |
実行したいプロセスツールコマンド。表 63-2 を参照。 |
pid |
プロセスの識別番号 |
次の例は、プロセスツールコマンドを使用して lpsched プロセスに関する詳細情報を表示する方法を示しています。まず、長いプロセスツールコマンドを入力しなくてもすむように、/usr/proc/bin path パスが定義されています。次に、lpsched の識別番号が表示されています。最後に、3 つのプロセスツールコマンドからの出力が表示されています。
1# PATH=$PATH:/usr/proc/bin # export PATH 2# ps -e | grep lpsched 191 ? 0:00 /usr/lib/lpsched 3# pwdx 191 191: / 4# ptree 191 183 /usr/lib/lpsched 5# pfiles 191 210: /usr/lib/lpsched Current rlimit: 1024 file descriptors 0: S_IFIFO mode:0000 dev:165,0 ino:83 uid:0 gid:0 size:0 O_RDWR 1: S_IFIFO mode:0000 dev:165,0 ino:83 uid:0 gid:0 size:0 O_RDWR 3: S_IFCHR mode:0666 dev:32,24 ino:34307 uid:0 gid:3 rdev:21,0 O_WRONLY FD_CLOEXEC 4: S_IFDOOR mode:0444 dev:171,0 ino:4124226512 uid:0 gid:0 size:0 O_RDONLY|O_LARGEFILE FD_CLOEXEC door to nscd[200] 5: S_IFREG mode:0664 dev:32,24 ino:311 uid:71 gid:8 size:0 O_WRONLY
1. /usr/proc/bin ディレクトリを PATH 変数に追加します。
2. lpsched のプロセス識別番号を表示します。
3. lpsched の現在の作業ディレクトリを表示します。
4. lpsched が入っているプロセスツリーを表示します。
5. 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