Next: , Up: Interacting with the System   [Index]


I.1 Processes

Subprocesses

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.

Function: processp object

This function returns ‘t’ if OBJECT represents an Emacs process object, ‘nil’ otherwise. The process object can represent a subprocess running a program or a connection of any supported type.

System Processes

In addition to subprocesses of the current Emacs session, you can also access other processes running on your machine. These are system processes.