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

pargs コマンドと preap コマンド

新しい 2 つのコマンド pargspreap により、プロセスのデバッグが改善されています。pargs コマンドを使用すると、動作中のプロセスまたはコアファイルに関連付けられた引数と環境変数を表示できます。preap コマンドを使用すると、終了した (ゾンビ) プロセスを削除できます。

また、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

pargs コマンドと preap コマンドを使用して、ユーザーの検査権限に含まれるすべてのプロセスを検査できます。スーパーユーザーは、すべてのプロセスを検査できます。

preap コマンドを使用して、終了したプロセスを削除できます。終了したプロセスは、ゾンビプロセスとも呼ばれます。ゾンビプロセスとは、その終了状態がまだ親によって取得または要求されていないプロセスをいいます。これらのプロセスは一般的に支障はありませんが、プロセスの数が多い場合には、システム資源を消費することになります。

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