Copyright (C) 2000-2012 |
GNU Info (librep.info)Process ObjectsProcess Objects --------------- 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. - Function: processp object This function returns true when its argument is a process object. The programmer-accessible components of a process object are, "Output stream" A normal Lisp output stream (Note: Output Streams), all data which the subprocess outputs to its `stdout' channel is copied to this output stream. Note: Process I/O. "Error stream" A normal Lisp output stream (Note: 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. Note: Process I/O. "State change function" A Lisp function, called each time the state of the subprocess being run on the object changes. Note: Process States. "Program name" The name of the program (a string) to execute when the subprocess is created. "Program arguments" A list of strings defining the arguments which the program executed is given. "Directory" When a subprocess is started its current working directory is set to the directory named by this component of its process object. "Connection type" Asynchronous subprocesses (Note: 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. - Function: make-process #!optional output-stream state-function directory program args 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. - Function: process-prog process Returns the value of the program name component of the process object PROCESS. - Function: set-process-prog process prog-name Sets the value of the program name component of the process object PROCESS to the string PROG-NAME, then returns PROG-NAME. - Function: process-args process Returns the value of the program arguments component of the process object PROCESS. - Function: set-process-args process arg-list Sets the value of the program arguments component of the process object PROCESS to the list ARG-LIST, then returns ARG-LIST. - Function: process-dir process Returns the value of the directory component of the process object PROCESS. - Function: set-process-dir process directory Sets the value of the directory component of the process object PROCESS to the string DIRECTORY, then returns DIRECTORY. - Variable: process-environment This is a list of environment variable definitions, as well as being used by the `setenv' and `getenv' functions (Note: Environment Variables), it also provides the environment of all started subprocesses. (car process-environment) => "LOGNAME=john" - Function: active-processes Returns a list containing all active (i.e. running or stopped) process objects. automatically generated by info2www version 1.2.2.9 |