A process object is a type of Lisp object used to provide a link between a ‘physical’ process running in the operating system and the Lisp system. Each process object consists of a number of values (references to other Lisp objects); these values are used when the object is used to run a subprocess.
Process objects which aren’t currently being used to run a subprocess store the exit value of the last subprocess which was run on that object.
This function returns true when its argument is a process object.
The programmer-accessible components of a process object are,
A normal Lisp output stream (see Output Streams), all data which the
subprocess outputs to its
stdout channel is copied to this
output stream. See Process I/O.
A normal Lisp output stream (see Output Streams), all data which
the subprocess outputs to its
stderr channel is copied to this
output stream. Unless explicitly specified error output goes to the
stdout stream. See Process I/O.
A Lisp function, called each time the state of the subprocess being run on the object changes. See Process States.
The name of the program (a string) to execute when the subprocess is created.
A list of strings defining the arguments which the program executed is given.
When a subprocess is started its current working directory is set to the directory named by this component of its process object.
Asynchronous subprocesses (see Asynchronous Processes) use this component to decide how to connect to the I/O channels of the subprocess. Current options include pseudo-terminals and pipes.
This functions creates and returns a new process object. No subprocess will be started.
The optional arguments are used to define the values of the components of the new process object, any undefined components will be set to default or null values.
For each component of a process object two functions exist; one to read the component’s value in a specific process object, the other to set the component’s value.
Returns the value of the program name component of the process object process.
Sets the value of the program name component of the process object process to the string prog-name, then returns prog-name.
Returns the value of the program arguments component of the process object process.
Sets the value of the program arguments component of the process object process to the list arg-list, then returns arg-list.
Returns the value of the directory component of the process object process.
Sets the value of the directory component of the process object process to the string directory, then returns directory.
This is a list of environment variable definitions, as well as being
used by the
(see Environment Variables), it also provides the environment of
all started subprocesses.
(car process-environment) ⇒ "LOGNAME=john"
Returns a list containing all active (i.e. running or stopped) process objects.