Next: Transaction Queues, Previous: Query Before Exit, Up: Processes [Contents][Index]
カレントEmacsセッションのサブプロセスにたいするアクセスと操作に加えて、同一マシン上で実行中の他のプロセスにたいしてEmacs Lispプログラムがアクセスすることもできます。Emacsのサブプロセスと区別するために、わたしたちはこれらをシステムプロセス(system processes)と呼んでいます。
Emacsはシステムプロセスへのアクセス用のプリミティブをいくつか提供します。これらのプリミティブはすべてのプラットフォームではサポートされません。これらのプリミティブはサポートされないシステムではnil
をリターンします。
この関数はそのシステム上で実行中のすべてのプロセスのリストをリターンする。各プロセスはPIDというOSから割り当てられた数値によるプロセスIDにより識別され、同一時に同一マシン上で実行中の他のプロセスと区別される。
この関数はプロセスID
pidで指定されるプロセスにたいする属性のalistをリターンする。このalist内の各属性は(key
.
value)
という形式でありkeyは属性、valueはその属性の値である。この関数がリターン可能なさまざまな属性にたいするkeyを以下にリストした。これらすべての属性をすべてのプラットフォームがサポートする訳ではない。ある属性がサポートされていなければ、その連想値はリターンされるalist内に出現しない。数値であるような値は整数か浮動小数点数のいずれかが可能であり、それは値の大小に依存する。
euid
そのプロセスを呼び出したユーザーの実効ユーザーID(effective user
ID)。対応するvalueは数値。プロセスがカレントEmacsセッションを実行したユーザーと同じなら値はuser-uid
がリターンする値と等しくなる(User Identificationを参照)。
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
そのプロセス開始以降に発生したメジャーなページフォルト数(メジャーなページフォルトとはディスクからの読み込みを要し、それ故にマイナーページフォルトより高価なページフォルト)。
cminflt
cmajflt
minflt
やmajflt
と似ているが与えられたプロセスのすべての子プロセスのページフォルト数を含む。
utime
アプリケーションのコード実行にたいしてユーザーコンテキスト内でプロセスに消費された時間。対応するvalueは(high low microsec picosec)
というフォーマットであり、これは関数current-time
が使用するフォーマットと同じ(current-time)とFile Attributesのfile-attributes
を参照)。
stime
システムコールの処理にたいしてシステム(kernel)コンテキスト内でプロセスに消費された時間。対応するvalueはutime
と同じフォーマット。
time
utime
とstime
の和。対応するvalueはutime
と同じフォーマット。
cutime
cstime
ctime
utime
やstime
と同様だが与えられたプロセスのすべての子プロセスの時間が含まれる点が異なる。
pri
そのプロセスの数値的な優先度。
nice
そのプロセスのnice値(nice value)であるような数値(小さいnice値のプロセスがより優先的にスケジュールされる)。
thcount
そのプロセス内のスレッド数。
start
file-attributes
やcurrent-time
が使用するのと同じフォーマット(high
low microsec picosec)
による、そのプロセスが開始された時刻。
etime
(high low microsec
picosec)
というフォーマットによる、そのプロセスが開始されてから経過した時間。
vsize
そのプロセスの仮想メモリーのKB単位でのサイズ。
rss
そのプロセスがマシンの物理メモリー内で占める常駐セット(resident set)のKB単位でのサイズ。
pcpu
プロセス開始以降に使用されたCPU時間のパーセンテージ。対応するvalueは0から100の間の浮動小数点数。
pmem
マシンにインストールされた物理メモリー合計のうち、そのプロセスの常駐セットのパーセンテージ。値は0から100の間の浮動小数点数。
args
そのプロセスが呼び出されたときのコマンドライン。これは個々のコマンドライン引数がブランクで区切られた文字列。引数に埋め込まれた空白文字はシステムに応じて適切にクォートされる。GNUやUnixではバックスラッシュ文字によるエスケープ、Windowsではダブルクォート文字で囲まれる。つまりこのコマンドライン文字列はshell-command
のようなプリミティブにより直接使用できる。