PREV UP NEXT GNU Emacs Lisp Reference Manual

Chapter 33: 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.
  • Subprocess Creation Functions that start subprocesses.
  • Synchronous Processes Details of using synchronous subprocesses.
  • MS-DOS Subprocesses On MS-DOS, you must indicate text vs binary for data sent to and from a subprocess.
  • Asynchronous Processes Starting up an asynchronous subprocess.
  • Deleting Processes Eliminating an asynchronous subprocess.
  • Process Information Accessing run-status and other attributes.
  • Input to Processes Sending input to an asynchronous subprocess.
  • Signals to Processes Stopping, continuing or interrupting an asynchronous subprocess.
  • Output from Processes Collecting output from an asynchronous subprocess.
  • Sentinels Sentinels run when process run-status changes.
  • Transaction Queues Transaction-based communication with subprocesses.
  • Network Opening network connections.