Solaris のシステム管理 (上級編)

プロセスのデバッグ (pargs, preap)

pargs コマンドと preap コマンドは、プロセスのデバッグを改善します。pargs コマンドを使用すると、動作中のプロセスまたはコアファイルに関連付けられた引数と環境変数を表示できます。preap コマンドを使用すると、終了した (ゾンビ) プロセスを削除できます。ゾンビプロセスとは、その終了状態がまだ親に回収されていないプロセスをいいます。これらのプロセスは概して無害ですが、数が多ければシステム資源を消費します。pargs コマンドと preap コマンドを使用して、ユーザーの検査権限に含まれるすべてのプロセスを検査できます。スーパーユーザーは、すべてのプロセスを検査できます。

preap コマンドの使用方法については、preap(1) のマニュアルページを参照してください。pargs コマンドの使用方法については、pargs(1) のマニュアルページを参照してください。また、proc(1) のマニュアルページも参照してください。


例 12–4 プロセスをデバッグする (pargs)

pargs コマンドによって、プロセスに渡された引数を ps コマンドで一部しか表示できないという問題がようやく解決されました。次の例は、pargsコマンドを pgrep コマンドと併用して、プロセスに渡された引数を表示する方法を示します。


# pargs `pgrep ttymon`
579:	/usr/lib/saf/ttymon -g -h -p system-name console login:  
-T sun -d /dev/console -l 
argv[0]: /usr/lib/saf/ttymon
argv[1]: -g
argv[2]: -h
argv[3]: -p
argv[4]: system-name console login: 
argv[5]: -T
argv[6]: sun
argv[7]: -d
argv[8]: /dev/console
argv[9]: -l
argv[10]: console
argv[11]: -m
argv[12]: ldterm,ttcompat
548:	/usr/lib/saf/ttymon
argv[0]: /usr/lib/saf/ttymon

次の例は、pargs -e コマンドを使用して、プロセスに関連付けられた環境変数を表示する方法を示します。


$ pargs -e 6763
6763: tcsh
envp[0]: DISPLAY=:0.0