E.9.3 Process Internals

The fields of a process (for a complete list, see the definition of struct Lisp_Process in process.h) include:

name

A Lisp string, the name of the process.

command

A list containing the command arguments that were used to start this process. For a network or serial process, it is nil if the process is running or t if the process is stopped.

filter

A Lisp function used to accept output from the process.

sentinel

A Lisp function called whenever the state of the process changes.

buffer

The associated buffer of the process.

pid

An integer, the operating system’s process ID. Pseudo-processes such as network or serial connections use a value of 0.

childp

A flag, t if this is really a child process. For a network or serial connection, it is a plist based on the arguments to make-network-process or make-serial-process.

mark

A marker indicating the position of the end of the last output from this process inserted into the buffer. This is often but not always the end of the buffer.

kill_without_query

If this is non-zero, killing Emacs while this process is still running does not ask for confirmation about killing the process.

raw_status

The raw process status, as returned by the wait system call.

status

The process status, as process-status should return it. This is a Lisp symbol, a cons cell, or a list.

tick
update_tick

If these two fields are not equal, a change in the status of the process needs to be reported, either by running the sentinel or by inserting a message in the process buffer.

pty_flag

Non-zero if communication with the subprocess uses a pty; zero if it uses a pipe.

infd

The file descriptor for input from the process.

outfd

The file descriptor for output to the process.

tty_name

The name of the terminal that the subprocess is using, or nil if it is using pipes.

decode_coding_system

Coding-system for decoding the input from this process.

decoding_buf

A working buffer for decoding.

decoding_carryover

Size of carryover in decoding.

encode_coding_system

Coding-system for encoding the output to this process.

encoding_buf

A working buffer for encoding.

inherit_coding_system_flag

Flag to set coding-system of the process buffer from the coding system used to decode process output.

type

Symbol indicating the type of process: real, network, serial.