The fields of a process (for a complete list, see the definition of
struct Lisp_Process in process.h) include:
A Lisp string, the name of the process.
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.
A Lisp function used to accept output from the process.
A Lisp function called whenever the state of the process changes.
The associated buffer of the process.
An integer, the operating system’s process ID. Pseudo-processes such as network or serial connections use a value of 0.
t if this is really a child process. For a network or
serial connection, it is a plist based on the arguments to
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.
If this is non-zero, killing Emacs while this process is still running does not ask for confirmation about killing the process.
The raw process status, as returned by the
wait system call.
The process status, as
process-status should return it. This
is a Lisp symbol, a cons cell, or a list.
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.
Non-zero if communication with the subprocess uses a pty; zero if it uses a pipe.
The file descriptor for input from the process.
The file descriptor for output to the process.
The name of the terminal that the subprocess is using,
nil if it is using pipes.
Coding-system for decoding the input from this process.
A working buffer for decoding.
Size of carryover in decoding.
Coding-system for encoding the output to this process.
A working buffer for encoding.
Flag to set
coding-system of the process buffer from the
coding system used to decode process output.
Symbol indicating the type of process: