次: , 前: Deleting Processes, 上: Processes


36.6 プロセス情報

プロセスに関する情報を返す関数がいくつかあります。 list-processesは対話的利用のためにあります。

— コマンド: list-processes

このコマンドは、活性なすべてのプロセスの一覧を表示する。 さらに、`Exited'や`Signaled'である状態の プロセスをすべて削除する。 nilを返す。

— 機能: process-list

この関数は、削除されていないすべてのプロセスのリストを返す。

          (process-list)
               => (#<process display-time> #<process shell>)
     
— 機能: get-process name

この関数はnameという名前のプロセスを返す。 あるいは、そのようなプロセスがなければnilを返す。 nameが文字列でないとエラーを通知する。

          (get-process "shell")
               => #<process shell>
     
— 機能: process-command process

この関数は、プロセスprocessを始動するために実行したコマンドを返す。 これは文字列のリストであり、 最初の文字列は実行されたプログラム、 残りの文字列はそのプログラムに与えた引数である。

          (process-command (get-process "shell"))
               => ("/bin/csh" "-i")
     
— 機能: process-id process

この関数は、プロセスprocessのプロセス番号pidを返す。 これは同じ計算機上で動いている他のすべてのプロセスと プロセスprocessを区別するための整数である。 プロセスのpidは、プロセスを始動したときに オペレーティングシステムのカーネルが選び、 プロセスが終了するまで変わらない。

— 機能: process-name process

この関数はプロセスprocessの名前を返す。

— 機能: process-contact process

この関数は、通常の子プロセスに対してはtを返し、 ネットワーク接続に対しては(hostname service)を返す (see Network)。

— 機能: process-status process-name

この関数は、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は シンボルopenclosedのいずれかを返す。 後者は、相手側が接続を閉じたか Emacsがdelete-processを行ったことを表す。

— 機能: process-exit-status process

この関数は、プロセスprocessの終了状態か、 プロセスをキルしたシグナル番号を返す。 (どちらであるかを判定するには、process-statusの結果を用いる。) processが終了していないと値は0である。

— 機能: process-tty-name process

この関数は、プロセスprocessがEmacsとの通信に用いている端末名を返す。 あるいは、端末のかわりにパイプを用いていればnilを返す (Asynchronous Processesprocess-connection-typeを参照)。

— 機能: process-coding-system process

この関数は、プロセスprocessからの出力を 復号化するために用いているコーディングシステムと、 processへの入力を符号化するために用いている コーディングシステムを記述するコンスセルを返す。

          (coding-system-for-decoding . coding-system-for-encoding)
     
— 機能: set-process-coding-system process decoding-system encoding-system

この関数は、プロセスprocessからの以降の出力および入力に用いる コーディングシステムを指定する。 サブプロセスから出力の復号化にはdecoding-systemを使い、 サブプロセスの入力の符号化にはencoding-systemを使う。