オペレーティングシステムの用語ではプロセス(process)とはプログラムを実行できるスペースのことです。Emacsはプロセス内で実行されます。Emacs Lispプログラムは別のプログラムをそれら自身のプロセス内で呼び出すことができます。これらは親プロセス(parent process)であるEmacsプロセスのサブプロセス(subprocesses)、または子プロセス(child processes)と呼ばれます。
Emacsのサブプロセスは同期(synchronous)か非同期(asynchronous)であり、それはそれらが作成された方法に依存します。同期サブプロセスを作成した際には、Lispプログラムは実行を継続する前にそのサブプロセスの終了を待機します。非同期サブプロセスを作成したときには、それをLispプログラムと並行して実行できます。この種のサブプロセスはEmacsではLispオブジェクととして表現され、そのオブジェクトも“プロセス”と呼ばれています。Lispプログラムはサブプロセスとのやり取りやサブプロセスの制御のためにこのオブジェクトを使用できます。たとえばシグナル送信、ステータス情報の取得、プロセス出力の受信やプロセスへ入力を送信することができます。
この関数は、objectがEmacsのサブプロセスを表すならt
、それ以外はnil
をリターンする。
カレントEmacsセッションのサブプロセスに加えて、そのマシン上で実行中の他のプロセスにアクセスすることもできます。System Processesを参照してください。
• Subprocess Creation: | サブプロセスを開始する関数。 | |
• Shell Arguments: | shellに渡すために引数をクォートする。 | |
• Synchronous Processes: | 同期サブプロセス使用の詳細。 | |
• Asynchronous Processes: | 非同期サブプロセスの起動。 | |
• Deleting Processes: | 非同期サブプロセスの削除。 | |
• Process Information: | 実行状態および他の属性へのアクセス。 | |
• Input to Processes: | 非同期サブプロセスへの入力の送信。 | |
• Signals to Processes: | 非同期サブプロセスの停止、継続、割り込み。 | |
• Output from Processes: | 非同期サブプロセスからの出力の収集。 | |
• Sentinels: | プロセスの実行状態変更時に実行されるセンチネル。 | |
• Query Before Exit: | exitによりプロセスがkillされる場合に問い合わせるかどうか。 | |
• System Processes: | そのシステム上で実行中の別プロセスへのアクセス。 | |
• Transaction Queues: | サブプロセスとのトランザクションベースのコミュニケション。 | |
• Network: | ネットワーク接続のopen。 | |
• Network Servers: | Emacsによるネット接続のacceptを可能にするネットワークサーバー。 | |
• Datagrams: | UDPネットワーク接続。 | |
• Low-Level Network: | 接続およびサーバーを作成するための、より低レベルだがより汎用的な関数。 | |
• Misc Network: | ネット接続用の追加の関連する関数。 | |
• Serial Ports: | シリアルポートでのやり取り。 | |
• Byte Packing: | bindatを使用したバイナリーデータのpackとunpack。 |