前: Window Internals, 上: Object Internals


B.6.3 プロセスの内部

プロセスにはつぎのようなフィールドがあります。

name
プロセスの名前である文字列。
command
このプロセスを開始するために使用されたコマンド引数から成るリスト。
filter
バッファのかわりにプロセスからの出力を受け取るために使用する関数。 あるいはnil
sentinel
プロセスがシグナルを受け取るたびに呼ばれる関数。 あるいはnil
buffer
プロセスに対応付けられたバッファ。
pid
UNIXのプロセスidである整数。
childp
フラグであり、これが実際に子プロセスであるとnil以外である。 ネットワーク接続であるとnil以外。
mark
プロセスからの最後の出力をバッファに挿入した箇所の末尾位置を表すマーカ。 これはしばしばバッファの末尾であるが、つねにではない。
kill_without_query
これがnil以外であると、このプロセスが動作中にEmacsを終了しようとしても プロセスをキルすることに関して確認を求めない。
raw_status_low
raw_status_high
これらの2つのフィールドは、 システムコールwaitで返されるプロセス状態の各16ビットを記録する。
status
process-statusが返すべきプロセス状態。
tick
update_tick
この2つのフィールドが等しくないと、 番兵を実行するかプロセスのバッファにメッセージを挿入するかして、 プロセスの状態変化を報告する必要がある。
pty_flag
サブプロセスとの通信にpty(疑似端末)を 使用している場合にはnil以外であり、 パイプを使用している場合にはnilである。
infd
このプロセスからの入力用ファイル記述子。
outfd
このプロセスへの出力用ファイル記述子。
subtty
サブプロセスが使用している端末のファイル記述子。 (これを記録する必要のないシステムもあり、その場合には値はnilである。)
tty_name
サブプロセスが使用している端末の名前。 パイプを使用しているときにはnilである。