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

/proc ファイルシステムとコマンド

/usr/proc/bin ディレクトリ内のプロセスツールを使用すると、/proc にあるプロセスに関して詳細情報を表示できます。/proc ディレクトリは、プロセスファイルシステム (PROCFS) とも呼ばれます。アクティブなプロセスのイメージは、そのプロセス ID 番号を使って /proc に格納されます。

プロセスツールは ps コマンドの一部のオプションに似ていますが、このツールから提供される出力の方が詳細です。一般に、プロセスツールには次の機能があります。

表 24-4 に、新しい /usr/proc/bin ユーティリティを示します。

表 24-4 プロセスツール

ツールの種類 

ツールの機能または表示内容 

/usr/proc/bin/pstop pid

プロセスを停止する 

/usr/proc/bin/prun pid

プロセスを再開する 

/usr/proc/bin/ptime pid

microstate アカウントを使用してプロセスの時間を測定する

/usr/proc/bin/pwait [-v] pid

指定されたプロセスが終了するのを待つ 

 

プロセスの詳細を表示するツール 

/usr/proc/bin/pcred pid

資格 

/usr/proc/bin/pfiles pid

開いたファイルの fstat 情報と fcntl 情報

/usr/proc/bin/pflags pid

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

/usr/proc/bin/pldd pid

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

/usr/proc/bin/pmap pid

アドレス空間マップ 

/usr/proc/bin/psig pid

シグナルの動作 

/usr/proc/bin/pstack pid

lwp ごとの 16 進数 + 記号スタックトレース

/usr/proc/bin/ptree pid

指定した pid が入ったプロセスツリー

/usr/proc/bin/pwdx pid

現在の作業ディレクトリ 

上記の表 24-4 で、pid はプロセス識別番号です。この番号は ps -ef コマンドを使用して表示できます。

第 25 章「プロセスの管理手順」では、プロセスツールコマンドを使用して、プロセスの詳細表示や、プロセスの起動および終了などのシステム管理作業を実行する方法を説明します。プロセスツールのさらに詳細な説明は、proc(1) のマニュアルページを参照してください。

プロセスが無限ループ内でトラップされた場合や、実行時間が長すぎる場合は、プロセスを終了 (Kill) できます。pkill コマンドを使用してプロセスを終了する方法については、第 25 章「プロセスの管理手順」を参照してください。

以前のフラットな /proc ファイルシステムは、状態情報と制御機能のためのサブディレクトリが追加されたディレクトリ階層に再構築されました。

/proc ファイルシステムは、ウォッチポイント機能も提供します。この機能は、プロセスのアドレス領域の個々のページの読み取り権または書き込み権を再マップするために使用されます。この機能は制限がなく、MT-安全です。

新しい /proc ファイル構造は、古い /proc インターフェースと完全なバイナリ互換を提供します。ただし、新しいウォッチポイント機能は、古いインターフェースでは使用できません。

デバッグ用ツールは、/proc の新しいウォッチポイント機能を使用するように変更されています。つまり、ウォッチポイントプロセス全体がより高速になったためです。

dbx デバッグ用ツールを使用してウォッチポイントを設定するときの次の制限は取り除かれました。

詳細は、proc(4)core(4)、および adb(1) のマニュアルページを参照してください。