次: Input to Processes, 前: Deleting Processes, 上: Processes
プロセスに関する情報を返す関数がいくつかあります。
list-processesは対話的利用のためにあります。
このコマンドは、活性なすべてのプロセスの一覧を表示する。 さらに、`Exited'や`Signaled'である状態の プロセスをすべて削除する。
nilを返す。
この関数は、削除されていないすべてのプロセスのリストを返す。
(process-list) => (#<process display-time> #<process shell>)
この関数はnameという名前のプロセスを返す。 あるいは、そのようなプロセスがなければ
nilを返す。 nameが文字列でないとエラーを通知する。(get-process "shell") => #<process shell>
この関数は、プロセスprocessを始動するために実行したコマンドを返す。 これは文字列のリストであり、 最初の文字列は実行されたプログラム、 残りの文字列はそのプログラムに与えた引数である。
(process-command (get-process "shell")) => ("/bin/csh" "-i")
この関数は、プロセスprocessのプロセス番号pidを返す。 これは同じ計算機上で動いている他のすべてのプロセスと プロセスprocessを区別するための整数である。 プロセスのpidは、プロセスを始動したときに オペレーティングシステムのカーネルが選び、 プロセスが終了するまで変わらない。
この関数は、通常の子プロセスに対しては
tを返し、 ネットワーク接続に対しては(hostname service)を返す (see Network)。
この関数は、process-nameの状態をシンボルとして返す。 引数process-nameは、プロセス、バッファ、プロセス名(文字列)、 バッファ名(文字列)のいずれかであること。
実際のサブプロセスに対して可能な値はつぎのとおり。
run- 実行中のプロセスである。
stop- 一時停止しているが継続可能である。
exit- 終了したプロセス。
signal- 致命的なシグナルを受け取ったプロセスである。
open- ネットワーク接続を開いている。
closed- ネットワーク接続は閉じている。 接続をいったん閉じるとそれを再度開くことはできないが、 同じ接続先へ新たな接続を開くことはできる。
nil- process-nameは既存プロセスの名前ではない。
(process-status "shell") => run (process-status (get-buffer "*shell*")) => run x => #<process xx<1>> (process-status x) => exitネットワーク接続では、
process-statusは シンボルopenかclosedのいずれかを返す。 後者は、相手側が接続を閉じたか Emacsがdelete-processを行ったことを表す。
この関数は、プロセスprocessの終了状態か、 プロセスをキルしたシグナル番号を返す。 (どちらであるかを判定するには、
process-statusの結果を用いる。) processが終了していないと値は0である。
この関数は、プロセスprocessがEmacsとの通信に用いている端末名を返す。 あるいは、端末のかわりにパイプを用いていれば
nilを返す (Asynchronous Processesのprocess-connection-typeを参照)。