Next: , Previous: , Up: Processes   [Contents][Index]


36.6 プロセスの情報

プロセスの状態に関する情報をリターンする関数がいくつかあり。

Command: list-processes &optional query-only buffer

このコマンドは、すべての生きたプロセスのリストを表示する。加えてこれは最後に、状態が‘Exited’か‘Signaled’だったすべてのプロセスを削除する。このコマンドはnilをリターンする。

プロセスはメジャーモードがProcess Menuモードであるような、*Process List*という名前のバッファーに表示される(オプション引数bufferで他の名前を指定していない場合)。

query-onlyが非nilなら、queryフラグが非nilのプロセスだけをリストする。Query Before Exitを参照のこと。

Function: process-list

この関数は削除されていないすべてのプロセスのリストをリターンする。

(process-list)
     ⇒ (#<process display-time> #<process shell>)
Function: get-process name

この関数はname(文字列)というプロセス、存在しなければnilをリターンする。

(get-process "shell")
     ⇒ #<process shell>
Function: process-command process

この関数は、processを開始するために実行されたコマンドをリターンする。これは文字列のリストで、1つ目の文字列は実行されたプログラム、残りの文字列はそのプログラムに与えられた引数である。

(process-command (get-process "shell"))
     ⇒ ("bash" "-i")
Function: process-contact process &optional key

この関数は、ネットワークプロセスまたはシリアルプロセスがセットアップされた方法についての情報をリターンする。 This function returns information about how a network or serial process was set up. keynilなら、ネットワークプロセスにたいしては(hostname service)、シリアルプロセスにたいしては(port speed)をリターンする。普通の子プロセスにたいしては、この関数は常にtをリターンする。

keytなら、値はその接続、サーバー、またはシリアルポートについての完全な状態情報、すなわちmake-network-processまたはmake-serial-process内で指定されるキーワードと値のリストとなる。ただしいくつかの値については、指定した値のかわりに、カレント状態を表す値となる。

ネットワークプロセスにたいしては以下の値が含まれる(完全なリストはmake-network-processを参照):

:buffer

値にはプロセスのバッファーが割り当てられる。

:filter

値にはプロセスのフィルター関数が割り当てられる。

:sentinel

値にはプロセスのセンチネル関数が割り当てられる。

:remote

接続にたいしては内部的なフォーマットによるリモートピアーのアドレス。

:local

内部的なフォーマットによるローカルアドレス。

:service

この値はサーバーではservicetを指定すると実際のポート番号。

make-network-process内で明示的に指定されていなくても:local:remoteは値に含まれる。

シリアルプロセスについてはmake-serial-process、キーのリストについてはserial-process-configureを参照されたい。

keyがキーワードなら、この関数はそのキーワードに対応する値をリターンする。

Function: process-id process

この関数は、processPIDをリターンする。これは同じコンピューター上でカレント時に実行中の他のすべてのプロセスから、プロセスprocessを区別するための整数である。プロセスのPIDは、そのプロセスの開始時にオペレーティングシステムのカーネルにより選択され、そのプロセスが存在する限り定数として保たれる。

Function: process-name process

この関数はprocessの名前を文字列としてリターンする。

Function: process-status process-name

この関数はprocess-nameの状態を文字列でリターンする。引数process-nameはプロセス、バッファー、またはプロセス名(文字列)でなければならない。

実際のサブプセスにたいして可能な値は:

run

実行中のプロセス。

stop

停止しているが継続可能なプロセス。

exit

exitしたプロセス。

signal

致命的なシグナルを受信したプロセス。

open

オープンされたネットワーク接続。

closed

クローズされたネットワーク接続。一度クローズされた接続は、たとえ同じ場所にたいして新たな接続をオープンすることができたとしても、再度オープンすることはできない。

connect

完了を待つ非ブロッキング接続。

failed

完了に失敗した非ブロッキング接続。

listen

listen中のネットワークサーバー。

nil

process-nameが既存のプロセス名でない場合。

(process-status (get-buffer "*shell*"))
     ⇒ run

ネットワーク接続にたいしては、process-statusopenclosedのシンボルいずれかをリターンする。後者は相手側が接続をクローズしたか、Emacsがdelete-processを行なったことを意味する。

Function: process-live-p process

この関数はprocessがアクティブなら、非nilをリターンする。状態がrunopenlistenconnectstopのプロセスはアクティブとみなされる。

Function: process-type process

この関数はネットワーク接続またはサーバーにたいしてはシンボルnetwork、シリアルポート接続にたいしてはserial、実際のサブプロセスにたいしてはrealをリターンする。

Function: process-exit-status process

この関数はprocessのexitステータス、またはプロセスをkillしたシグナル番号をリターンする(いずれかであるかの判定には、process-statusの結果を使用する)。processがまだ終了していなければ、値は0。

Function: process-tty-name process

この関数はprocessがEmacsとの対話に使用する端末名、端末のかわりにpipeを使用する場合はnilをリターンする(Asynchronous Processesprocess-connection-typeを参照)。processがリモートホスト上で実行中のプログラムを表す場合は、プロセスのremote-ttyプロパティとして、リモートホスト上でそのプログラムに使用される端末名が提供される。

Function: process-coding-system process

この関数はprocessからの出力のデコードに使用するコーディングシステムと、processへの入力のエンコードに使用するコーディングシステムを記述するコンスセル(decode . encode)をリターンする(Coding Systemsを参照)。

Function: set-process-coding-system process &optional decoding-system encoding-system

この関数はprocessにたいする後続の入出力に使用するコーディングシステムを指定する。これはサブプロセスの出力のデコードにdecoding-system、入力のエンコードにencoding-systemを使用する。

すべてのプロセスには、そのプロセスに関連するさまざまな値を格納するために使用できるプロパティリストもあります。

Function: process-get process propname

この関数はprocessのプロパティpropnameの値をリターンする。

Function: process-put process propname value

この関数はprocessのプロパティpropnameの値にvalueをセットする。

Function: process-plist process

この関数はprocessのプロセスplistをリターンする。

Function: set-process-plist process plist

この関数はprocessのプロセスplistにplistをセットする。


Next: , Previous: , Up: Processes   [Contents][Index]