[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

37. Processes

In the terminology of operating systems, a process is a space in which a program can execute. Emacs runs in a process. Emacs Lisp programs can invoke other programs in processes of their own. These are called subprocesses or child processes of the Emacs process, which is their parent process.

A subprocess of Emacs may be synchronous or asynchronous, depending on how it is created. When you create a synchronous subprocess, the Lisp program waits for the subprocess to terminate before continuing execution. When you create an asynchronous subprocess, it can run in parallel with the Lisp program. This kind of subprocess is represented within Emacs by a Lisp object which is also called a "process". Lisp programs can use this object to communicate with the subprocess or to control it. For example, you can send signals, obtain status information, receive output from the process, or send input to it.

Function: processp object
This function returns t if object is a process, nil otherwise.

37.1 Functions that Create Subprocesses  Functions that start subprocesses.
37.2 Shell Arguments  Quoting an argument to pass it to a shell.
37.3 Creating a Synchronous Process  Details of using synchronous subprocesses.
37.4 Creating an Asynchronous Process  Starting up an asynchronous subprocess.
37.5 Deleting Processes  Eliminating an asynchronous subprocess.
37.6 Process Information  Accessing run-status and other attributes.
37.7 Sending Input to Processes  Sending input to an asynchronous subprocess.
37.8 Sending Signals to Processes  Stopping, continuing or interrupting an asynchronous subprocess.
37.9 Receiving Output from Processes  Collecting output from an asynchronous subprocess.
37.10 Sentinels: Detecting Process Status Changes  Sentinels run when process run-status changes.
37.11 Transaction Queues  Transaction-based communication with subprocesses.
37.12 Network Connections  Opening network connections.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on May 2, 2002 using texi2html