総合手引 | セクション 5 | English | オプション |
proc /proc procfs rw 0 0
procfs は以前の FreeBSD 1.1 procfs での実装とは異なり、 プロセス空間に 2 つのレベルの視点を提供します。 高いレベルでは、プロセスはそれ自身が、10 進数による先頭に 0 の付かない 自分のプロセス ID によって、名前付けされます。また curproc と呼ばれる調査要求を行なったプロセスを参照する特別なノードが存在します。
それぞれのノードは以下の項目を含むディレクトリです:
それぞれのディレクトリは数個のファイルを含んでいます:
ctl | 多様な制御操作をサポートする書き込みのみのファイル。 制御コマンドは ctl ファイルに文字列として書き込まれます。 制御コマンドは: |
attach | |
対象プロセスを停止し、 送信プロセスに対してデバッグ制御プロセスとなるよう手配する。 | |
detach | |
対象プロセスの実行を継続し、デバッグプロセスの制御下から離します (送信プロセスである必要はありません)。 | |
run | シグナルが届くか、ブレークポイントに達するか、または対象プロセスが 終了するまで対象プロセスを継続して動作させます。 |
step | シグナルを届けずに対象プロセスをシングルステップさせます。 |
wait | 対象プロセスがデバッグに適した平衡状態になるまで待ちます。 対象プロセスは他のどのコマンドが許可されるよりも前に この状態になる必要があります。 |
文字列は、 SIG 接頭辞なしの小文字のシグナル名でも構いません。 この場合、指定したシグナルがプロセスに届けられます。 ((sigaction(2) 参照)。
dbregs | |
<machine/reg.h> 中の struct dbregs で定義されるデバッグレジスタ。現在 dbregs は i386 アーキテクチャでのみ実装されています。 | |
etype | file 項目によって参照される実行形式のタイプ。 |
file | プロセステキストが読まれる file へのシンボリックリンク。 これはプロセスのシンボルテーブルへのアクセスを得る、 またはプロセスのもう 1 つのコピーを始めるために使われます。 ファイルが見つからなかった場合、そのリンクターゲットは ‘unknown’ です。 |
fpregs | |
<machine/reg.h> 中の struct fpregs で定義される浮動小数点レジスタ。 fpregs は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ 実装されています。 | |
map | プロセスの仮想メモリのマップ。 |
mem | プロセスの完全な仮想メモリイメージ。 プロセス中に存在するアドレスのみがアクセスできます。 このファイルに対する読み書きはプロセスを修正します。 テキストセグメントに対する書き込みはそのプロセスのみに留まります。 |
note | プロセスへシグナルを送るために使われます。実装されていません。 |
notepg | |
プロセスグループへシグナルを送るために使われます。実装されていません。 | |
regs | プロセスのレジスタセットへの読み書き手段を提供します。 このファイルは <machine/reg.h> 中で定義されている struct regs バイナリデータ構造体を含んでいます。 regs はプロセスが停止しているときのみ書き込みできます。 |
rlimit | |
これは、プロセスの現在および最大の制限を含む、読み取り専用ファイルです。 各行の書式は rlimit current max であり、-1 は無限を意味します。 | |
status | |
プロセスの状態。
このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを
含んだ 1 行を返します:
| |
対象がデバッガによって fork/exec される通常のデバッギング環境では、 デバッガが fork し、子は自分自身で止まる(例えば自分で与えた SIGSTOP) べきです。 親は適切な ctl ファイルを通じて wait そして attach コマンドを発行するべきです。 子プロセスは exec 呼び出しが終わった直後に SIGTRAP を受け取ります (execve(2) 参照)。
それぞれのノードはプロセスのユーザに所持され、 ユーザのプライマリグループに属します。 mem ノードは例外的に kmem グループに属します。
/proc | procfs の通常のマウントポイント。 |
/proc/pid | プロセス pid のプロセス情報を含んだディレクトリ |
/proc/curproc | カレントプロセスのプロセス情報を含んだディレクトリ |
/proc/curproc/cmdline | |
プロセスの実行形式名 | |
/proc/curproc/ctl | プロセスへの制御メッセージを送るために使われます |
/proc/curproc/etype | 実行形式タイプ |
/proc/curproc/file | 実行形式イメージ |
/proc/curproc/fpregs | プロセス浮動小数点レジスタセット |
/proc/curproc/map | プロセスの仮想メモリマップ |
/proc/curproc/mem | プロセスの完全な仮想アドレス空間 |
/proc/curproc/note | プロセスへのシグナル送信に使われます |
/proc/curproc/notepg | プロセスグループへのシグナル送信に使われます |
/proc/curproc/regs | プロセスのレジスタセット |
/proc/curproc/rlimit | プロセスの現在および最大の rlimit |
/proc/curproc/status | プロセスの現在の状態 |
PROCFS (5) | December 4, 2001 |
総合手引 | セクション 5 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Hang in there, people suffering from natural disasters and deadly diseases - we're putting ribbons on our cars as fast as we can | ” |
— Artur Bagyants |