Next: トランザクションキュー, Previous: exit前の問い合わせ, Up: プロセス [Contents][Index]
カレントEmacsセッションのサブプロセスにたいするアクセスと操作に加えて、他のプロセスにたいしてEmacs Lispプログラムがアクセスすることもできます。Emacsのサブプロセスと区別するために、わたしたちはこれらをシステムプロセス(system processes)と呼んでいます。
Emacsはシステムプロセスへのアクセス用のプリミティブをいくつか提供します。これらのプリミティブはすべてのプラットフォームではサポートされません。これらのプリミティブはサポートされないシステムではnilをリターンします。
この関数はそのシステム上で実行中のすべてのプロセスのリストをリターンする。各プロセスはPIDというOSから割り当てられた数値によるプロセスIDにより識別され、同一時に同一マシン上で実行中の他のプロセスと区別される。
default-directoryがリモートホスト上を示す場合には、そのホスト上のプロセスがリターンされる。
この関数はプロセスID
pidで指定されるプロセスにたいする属性のalistをリターンする。このalist内の各属性は(key
.
value)という形式でありkeyは属性、valueはその属性の値である。この関数がリターン可能なさまざまな属性にたいするkeyを以下にリストした。これらすべての属性をすべてのプラットフォームがサポートする訳ではない。ある属性がサポートされていなければ、その連想値はリターンされるalist内に出現しない。
default-directoryがリモートホスト上を示す場合には、そのホスト上のpidとみなされる。
euidそのプロセスを呼び出したユーザーの実効ユーザーID(effective user
ID)。対応するvalueは数値。プロセスがカレントEmacsセッションを実行したユーザーと同じなら値はuser-uidがリターンする値と等しくなる(ユーザーの識別を参照)。
userそのプロセスの実効ユーザーIDに対応するユーザー名であるような文字列。
egid実行ユーザーIDのグループIDであるような数値。
group実効ユーザーのグループIDに対応するグループ名であるような文字列。
commそのプロセス内で実効したコマンドの名前。これは通常は先行するディレクトリーを除いた実行可能ファイル名を指定する文字列。しかしいくつかの特別なシステムプロセスは、実行可能ファイルやプログラムに対応しない文字列を報告する可能性がある。
stateそのプロセスの状態コード。これはそのプロセスのスケジューリング状態をエンコードする短い文字列。以下は頻繁に目にするコードのリスト:
"D"割り込み不可のsleep(通常はI/Oによる)
"R"実行中
"S"割り込み可能なsleep(何らかのイベント待ち)
"T"ジョブ制御シグナルにより停止された
"Z"zombie: 終了したが親プロセスに回収されていないプロセス
可能な状態の完全なリストはpsコマンドのman pageを参照のこと。
ppid親プロセスのプロセスIDであるような数値。
pgrpそのプロセスのプロセスグループIDであるような数値。
sessそのプロセスのセッションID。これはそのプロセスのセッションリーダー(session leader)のプロセスIDであるような数値。
ttnameそのプロセスの制御端末の名前であるような文字列。これはUnixやGNUシステムでは通常は/dev/pts65のような対応する端末デバイスのファイル名。
tpgidそのプロセスの端末を使用するフォアグラウンドプロセスグループのプロセスグループIDであるような数値。
minfltそのプロセス開始以降に発生したマイナーなページフォルト数(マイナーなページフォルトとはディスクからの読み込みを発生させないページフォルト)。
majfltそのプロセス開始以降に発生したメジャーなページフォルト数(メジャーなページフォルトとはディスクからの読み込みを要し、それ故にマイナーページフォルトより高価なページフォルト)。
cminfltcmajfltminfltやmajfltと似ているが与えられたプロセスのすべての子プロセスのページフォルト数を含む。
utime実行中のアプリケーションのコードにたいして、ユーザーコンテキスト内でプロセスに消費された時間。対応するvalueはLispのタイムスタンプ(時刻を参照)。
stimeシステムコールの処理にたいしてシステム(kernel)コンテキスト内でプロセスに消費された時間。対応するvalueはLispのタイムスタンプ。
timeutimeとstimeの和。対応するvalueはLispのタイムスタンプ。
cutimecstimectimeutimeやstimeと同様だが与えられたプロセスのすべての子プロセスの時間が含まれる点が異なる。
priそのプロセスの数値的な優先度。
niceそのプロセスのnice値(nice value)であるような数値(小さいnice値のプロセスがより優先的にスケジュールされる)。
thcountそのプロセス内のスレッド数。
startプロセスの開始時刻(Lispのタイムスタンプ)。
etimeプロセスの開始からの経過時間(Lispのタイムスタンプ)。
vsizeそのプロセスの仮想メモリーのKB単位でのサイズ。
rssそのプロセスがマシンの物理メモリー内で占める常駐セット(resident set)のKB単位でのサイズ。
pcpuそのプロセス開始以降に使用されたCPU時間のパーセンテージ。valueは負ではない浮動小数点数。この数値はマルチコアプラットフォームでは理論上100を超過し得るものの、Emacsは通常はシングルスレッドなので100より小さくなる。
pmemマシンにインストールされた物理メモリー合計のうち、そのプロセスの常駐セットのパーセンテージ。値は0から100の間の浮動小数点数。
argsそのプロセスが呼び出されたときのコマンドライン。これは個々のコマンドライン引数がブランクで区切られた文字列。引数に埋め込まれた空白文字はシステムに応じて適切にクォートされる。GNUやUnixではバックスラッシュ文字によるエスケープ、Windowsではダブルクォート文字で囲まれる。つまりこのコマンドライン文字列はshell-commandのようなプリミティブにより直接使用できる。