GNU Emacs Lisp Reference Manual
37.6 Process Information
Several functions return information about processes.
list-processes is provided for interactive use.
- Command: list-processes
- This command displays a listing of all living processes. In addition,
it finally deletes any process whose status was `Exited' or
`Signaled'. It returns
- Function: process-list
- This function returns a list of all processes that have not been deleted.
=> (#<process display-time> #<process shell>)
- Function: get-process name
- This function returns the process named name, or
there is none. An error is signaled if name is not a string.
=> #<process shell>
- Function: process-command process
- This function returns the command that was executed to start
process. This is a list of strings, the first string being the
program executed and the rest of the strings being the arguments that
were given to the program.
(process-command (get-process "shell"))
=> ("/bin/csh" "-i")
- Function: process-id process
- This function returns the PID of process. This is an
integer that distinguishes the process process from all other
processes running on the same computer at the current time. The
PID of a process is chosen by the operating system kernel when the
process is started and remains constant as long as the process exists.
- Function: process-name process
- This function returns the name of process.
- Function: process-contact process
- This function returns
t for an ordinary child process, and
(hostname service) for a net connection
(see section 37.12 Network Connections).
- Function: process-status process-name
- This function returns the status of process-name as a symbol.
The argument process-name must be a process, a buffer, a
process name (string) or a buffer name (string).
The possible values for an actual subprocess are:
- for a process that is running.
- for a process that is stopped but continuable.
- for a process that has exited.
- for a process that has received a fatal signal.
- for a network connection that is open.
- for a network connection that is closed. Once a connection
is closed, you cannot reopen it, though you might be able to open
a new connection to the same place.
- if process-name is not the name of an existing process.
(process-status (get-buffer "*shell*"))
=> #<process xx<1>>
For a network connection,
process-status returns one of the symbols
closed. The latter means that the other side
closed the connection, or Emacs did
- Function: process-exit-status process
- This function returns the exit status of process or the signal
number that killed it. (Use the result of
determine which of those it is.) If process has not yet
terminated, the value is 0.
- Function: process-tty-name process
- 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 terminal (see
37.4 Creating an Asynchronous Process).
- Function: process-coding-system process
- This function returns a cons cell describing the coding systems in use
for decoding output from process and for encoding input to
process (see section 33.10 Coding Systems). The value has this form:
(coding-system-for-decoding . coding-system-for-encoding)
- Function: set-process-coding-system process decoding-system encoding-system
- 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