いくつかの関数は、プロセスに関する情報を返します。
このコマンドは、すべての稼働中のプロセスを一覧表示します。さらに、最後にステータスが ‘Exited’ または ‘Signaled’ であったプロセスを削除します。戻り値は nil です。
これらのプロセスは、*Process List* という名前のバッファ(オプション引数 buffer で別途指定しない限り)に表示され、そのメジャーモードは Process Menu モードです。
query-only が nil
以外の場合、クエリフラグが nil 以外であるプロセスのみが一覧表示されます。終了前のクエリ を参照してください。
この関数は、削除されていないすべてのプロセスの一覧を返します。
(process-list)
⇒ (#<process display-time> #<process shell>)
この関数は、プロセッサ数を正の整数として返します。利用可能な各スレッド実行単位が1つのプロセッサとしてカウントされます。デフォルトでは、カウントには利用可能なプロセッサ数が含まれますが、OpenMPのOMP_NUM_THREADS環境変数を設定することでこの値を上書きできます。オプション引数queryがcurrentの場合、この関数はOMP_NUM_THREADSを無視します。また、queryがallの場合、この関数はシステム上には存在するが現在のプロセスでは利用できないプロセッサもカウントします。
この関数は、name という名前のプロセス(文字列)を、存在しない場合は nil を返します。引数 name
にはプロセスオブジェクトを指定することもでき、その場合はそのオブジェクトが返されます。
(get-process "shell")
⇒ #<process shell>
この関数は、processを起動するために実行されたコマンドを返します。これは文字列のリストであり、最初の文字列が実行されたプログラム、残りの文字列がそのプログラムに渡された引数となります。ネットワーク、シリアル、またはパイプ接続の場合、これはプロセスが実行中であることを示すnilか、プロセスが停止していることを示すtのいずれかとなります。
(process-command (get-process "shell"))
⇒ ("bash" "-i")
この関数は、ネットワーク、シリアル、またはパイプ接続がどのように確立されたかに関する情報を返します。key
が nil の場合、ネットワーク接続では (hostname service) を、シリアル接続では
(port speed) を、パイプ接続では t
を返します。通常の子プロセスの場合、nil および key を指定してこの関数を呼び出すと、常に t が返されます。
key が t
の場合、その値は接続、サーバー、シリアルポート、またはパイプに関する完全なステータス情報、すなわち make-network-process、make-serial-process、または make-pipe-process
で指定されたキーワードと値の一覧となります。ただし、一部の値は、指定した内容ではなく現在のステータスを表します。
ネットワークプロセスの場合、値には以下が含まれます(完全な一覧については make-network-process を参照してください):
:buffer関連付けられた値はプロセスバッファです。
:filter対応する値はプロセスフィルタ関数です。プロセスフィルタ関数を参照してください。
:sentinel対応する値は、プロセスのセンチネル関数です。センチネル:プロセスの状態変化の検出を参照してください。
:remote関連して、リモートピアの内部形式のアドレス。
:local内部形式のローカルアドレス。
:serviceサーバーにおいて、service に t
を指定した場合、この値が実際のポート番号となります。
:local と :remote は、make-network-process で明示的に指定されていなくても含まれます。
シリアル接続の場合は、キーの一覧について make-serial-process および serial-process-configure を参照してください。パイプ接続の場合は、キーの一覧について
make-pipe-process を参照してください。
key がキーワードの場合、関数はそのキーワードに対応する値を返します。
process
がまだ完全にセットアップされていない非ブロッキングネットワークストリームである場合、この関数はセットアップが完了するまでブロックします。オプションの
no-block パラメータが指定された場合、この関数はブロックせずに nil を返します。
この関数は、processのPIDを返します。これは、プロセスprocessを、その時点で同一コンピュータ上で動作している他のすべてのプロセスと区別するための整数です。プロセスのPIDは、プロセスの起動時にオペレーティングシステムのカーネルによって割り当てられ、プロセスが存在する限り一定のままとなります。ネットワーク、シリアル、およびパイプ接続の場合、この関数はnilを返します。
この関数は、processの名前を文字列として返します。
この関数は、process-name の状態をシンボルとして返します。引数 process-name は、プロセス、バッファ、またはプロセス名(文字列)である必要があります。
実際のサブプロセスが取り得る値は以下の通りです:
run実行中のプロセスに対して。
stop停止しているが継続可能なプロセスについて。
exit終了したプロセスに対して。
signal致命的なシグナルを受信したプロセスに対して。
openオープン状態のネットワーク、シリアル、またはパイプ接続の場合。
closed閉じられたネットワーク、シリアル、またはパイプ接続の場合。一度接続が閉じられると、再度開くことはできませんが、同じ宛先に対して新しい接続を開くことはできる場合があります。
connect完了待ちの非ブロッキング接続用。
failed完了に失敗した非ブロッキング接続用。
listen待ち受け状態のネットワークサーバー用。
nilprocess-name が既存のプロセス名でない場合。
(process-status (get-buffer "*shell*"))
⇒ run
ネットワーク、シリアル、またはパイプ接続の場合、process-status は open、stop、closed のいずれかのシンボルを返します。後者は、相手側が接続を閉じたか、あるいは Emacs が
delete-process を行ったことを意味します。値 stop は、接続に対して stop-process
が呼び出されたことを意味します。
この関数は、process が生存している場合に non-nil を返します。プロセスのステータスが run、open、listen、connect または stop である場合、そのプロセスは生存しているとみなされます。
この関数は、ネットワーク接続やサーバーの場合はシンボル network
を、シリアルポート接続の場合は serial を、パイプ接続の場合は pipe を、プログラム実行用に作成されたサブプロセスの場合は real を返します。
この関数は、process
の終了ステータス、またはそれを終了させたシグナル番号を返します。(どちらであるかは process-status の結果で判断してください。)process がまだ終了していない場合、値は 0
になります。すでに閉じられているネットワーク、シリアル、およびパイプ接続の場合、値は接続が正常終了したか異常終了したかに応じて、0 または 256
のいずれかになります。
This function returns the terminal name that process
is using for its communication with Emacs—or nil if it is using pipes instead of a pty (see process-connection-type in Creating an Asynchronous Process).
By default, this function returns the terminal name if any of process’s standard streams use a terminal. If stream is one of stdin, stdout, or stderr, this
function returns the terminal name (or nil, as
above) that process uses for that stream
specifically. You can use this to determine whether a particular stream
uses a pipe or a pty.
process がリモートホスト上で動作するプログラムを表す場合、この関数は process と通信するローカル端末名を返します。リモートホスト上のそのプログラムが使用している端末名は、プロセスプロパティ remote-tty で取得できます。process
がネットワーク、シリアル、またはパイプ接続を表す場合、この関数は常に nil を返します。
この関数は、process
からの出力のデコードおよび入力のエンコードに使用される符号化方式を記述するコンスセル (decode . encode) を返します(符号化方式を参照)。
This function specifies the coding systems to use for subsequent output from and input to process. It will use decoding-system to decode subprocess output, and encoding-system to encode subprocess input.
また、すべてのプロセスには、そのプロセスに関連付けられた各種の値を格納できるプロパティリストが備わっています。
この関数は、process の propname プロパティの値を返します。
この関数は、process の propname プロパティの値を value に設定します。
この関数は、process のプロセス plist を返します。
この関数は、process のプロセス plist を plist に設定します。