プロセスの状態に関する情報をリターンする関数がいくつかあり。
このコマンドは、すべての生きたプロセスのリストを表示する。加えてこれは最後に、状態が‘Exited’か‘Signaled’だったすべてのプロセスを削除する。このコマンドはnil
をリターンする。
プロセスはメジャーモードがProcess Menuモードであるような、*Process List*という名前のバッファーに表示される(オプション引数bufferで他の名前を指定していない場合)。
query-onlyが非nil
なら、queryフラグが非nil
のプロセスだけをリストする。exit前の問い合わせを参照のこと。
この関数は削除されていないすべてのプロセスのリストをリターンする。
(process-list) ⇒ (#<process display-time> #<process shell>)
この関数はプロセッサー数を正の整数としてリターンする。使用可能なスレッドの各実行ユニットはプロセッサーとしてカウントされる。このカウントにはデフォルトでは利用できるプロセッサー数が含まれる。これはOpenMPの環境変数OMP_NUM_THREADS
ををセットすることによってオーバーライドできる。オプション引数queryがcurrent
なら、この関数はOMP_NUM_THREADS
を無視する。queryがall
ならシステム上にあるがカレントプロセスで利用できないプロセッサーもカウントする。
この関数はname
(文字列)というプロセス、存在しなければnil
をリターンする。引数nameはプロセスオブジェクトでもよく、この場合にはそれがリターンされる。
(get-process "shell") ⇒ #<process shell>
この関数はprocessを開始するために実行されたコマンドをリターンする。これは文字列のリストで1つ目の文字列は実行されたプログラム、残りの文字列はそのプログラムに与えられた引数。ネットワーク接続、シリアル接続、pipe接続にたいしてはnil
(プロセスは実行中)かt
(プロセスは停止中)のいずれか。
(process-command (get-process "shell")) ⇒ ("bash" "-i")
この関数はネットワーク接続、シリアル接続、pipe接続がセットアップされた方法に関する情報をリターンする。keyがnil
ならネットワーク接続には(hostname
service)
、シリアル接続には(port
speed)
、pipe接続にはt
をリターンする。普通の子プロセスにたいしては、この関数はkeyがnil
で呼び出されると常にt
をリターンする。
keyがt
なら値はその接続、サーバー、シリアルポート、またはpipeについての完全な状態情報、すなわちmake-network-process
、make-serial-process
、またはmake-pipe-process
内で指定されるキーワードと値のリストとなる。ただしいくつかの値については、指定した値のかわりにカレント状態を表す値となる。
ネットワークプロセスにたいしては以下の値が含まれる(完全なリストはmake-network-process
を参照):
:buffer
値にはプロセスのバッファーが割り当てられる。
:filter
値にはプロセスのフィルター関数が割り当てられる。プロセスのフィルター関数を参照のこと。
:sentinel
値にはプロセスのセンチネル関数が割り当てられる。センチネル: プロセス状態の変更の検知を参照のこと。
:remote
接続にたいしては内部的なフォーマットによるリモートピアーのアドレス。
:local
内部的なフォーマットによるローカルアドレス。
:service
この値はサーバーではserviceにt
を指定すると実際のポート番号。
make-network-process
内で明示的に指定されていなくても:local
と:remote
は値に含まれる。
シリアル接続についてはmake-serial-process
、キーのリストはserial-process-configure
を参照のこと。pipe接続についてはmake-pipe-process
を参照のこと。
keyがキーワードなら、この関数はそのキーワードに対応する値をリターンする。
processがまだ完全にセットアップされていない非ブロッキングネットワークストリームなら、この関数はセットアップされるまでブロックする。オプションのno-blockパラメーターが与えられると、この関数はブロックせずにnil
をリターンする。
この関数はprocessのPIDをリターンする。これは同じコンピューター上でカレント時に実行中の他のすべてのプロセスからプロセスprocessを区別するための整数。プロセスのPIDはプロセスの開始時にオペレーティングシステムのカーネルにより選択されて、そのプロセスが存在する限り定数として保たれる。この関数はネットワーク接続、シリアル接続、pipe接続にはnil
をリターンする。
この関数はprocessの名前を文字列としてリターンする。
この関数はprocess-nameの状態を文字列でリターンする。引数process-nameはプロセス、バッファー、またはプロセス名(文字列)でなければならない。
実際のサブプセスにたいして可能な値は:
run
実行中のプロセス。
stop
停止しているが継続可能なプロセス。
exit
exitしたプロセス。
signal
致命的なシグナルを受信したプロセス。
open
オープンされたネットワーク接続、シリアル接続、またはpipe接続。
closed
クローズされたネットワーク接続、シリアル接続、またはpipe接続。一度クローズされた接続は、たとえ同じ場所にたいして新たな接続をオープンすることができたとしても再度オープンすることはできない。
connect
完了を待つ非ブロッキング接続。
failed
完了に失敗した非ブロッキング接続。
listen
listen中のネットワークサーバー。
nil
process-nameが既存のプロセス名でない場合。
(process-status (get-buffer "*shell*")) ⇒ run
ネットワーク接続、シリアル接続、pipe接続にたいしてprocess-status
はopen
、stop
、またはclosed
いずれかのシンボルをリターンする。closed
は相手側が接続をクローズしたか、あるいはEmacsがdelete-process
を行なったことを意味する。値stop
はその接続でstop-process
が呼び出されたことを意味する。
この関数はprocessがアクティブなら、非nil
をリターンする。状態がrun
、open
、listen
、connect
、stop
のプロセスはアクティブとみなされる。
この関数はネットワーク接続やサーバーにたいしてはnetwork
、シリアルポート接続にたいしてはserial
、pipe接続にたいしてはpipe
、プログラム実行用に作成されたサブプロセスにたいしてはreal
というシンボルをリターンする。
この関数はprocessのexitステータス、またはプロセスをkillしたシグナル番号をリターンする(いずれであるかの判定にはprocess-status
の結果を使用)。processがまだ終了していなければ値は0。すでにcloseされたネットワーク接続、シリアル接続、pipe接続についての値は接続のcloseが正常か異常かによって0か256のいずれかとなる。
この関数はprocessがEmacsとの対話に使用する端末名、ptyではなくpipeを使用する場合にはnil
をリターンする(非同期プロセスの作成のprocess-connection-type
を参照)。この関数processの標準ストリームのいずれかが端末を使用していれば、デフォルトではその端末の名前をリターンする。streamがstdin
、stdout
、stderr
のいずれかであれば、この関数は特にそのストリームにたいしてprocessが使用している端末の名前(または上述したようにnil
)をリターンする。これを用いれば、特定のストリームがpipeとptyのどちらを使用しているかを判断できる。
この関数はprocessがリモートホストで実行中のプログラムを表す場合には、processと対話するローカルの端末名をリターンする。そのプログラムがリモートホスト上で使用している端末の名前については、そのプロセスにremote-tty
プロパティで取得できる。この関数はprocessがネットワーク、シリアル、あるいはpipeによる接続を表す場合には常にnil
をリターンする。
この関数はprocessからの出力のデコードに使用するコーディングシステムと、processへの入力のエンコードに使用するコーディングシステムを記述するコンスセル(decode
. encode)
をリターンする(コーディングシステムを参照)。
この関数はprocessにたいする後続の入出力に使用するコーディングシステムを指定する。これはサブプロセスの出力のデコードにdecoding-system、入力のエンコードにencoding-systemを使用する。
すべてのプロセスには、そのプロセスに関連するさまざまな値を格納するために使用できるプロパティリストもあります。
この関数はprocessのプロパティpropnameの値をリターンする。
この関数はprocessのプロパティpropnameの値にvalueをセットする。
この関数はprocessのプロセスplistをリターンする。
この関数はprocessのプロセスplistにplistをセットする。