Go to the first, previous, next, last section, table of contents.


Process I/O

It is only possible for lisp programs to explicitly send input data to asynchronous processes (by the time it's possible to call a function to send data to a synchronous process, the process will already have terminated!). Simply use the process object which an asynchronous process is running on as a normal Lisp input stream, any strings or characters written to the stream will immediately be copied to the stdin channel of the subprocess.

With synchronous processes, the only control over input data possible is by giving the run-process function the name of a file containing the subprocess' input data.

Output data from subprocesses is handled the same way by both asynchronous and synchronous processes: it is simply copied to the stream defined by the output stream component of the subprocess' process object.

Function: process-output-stream process
Returns the value of the output stream component of the process object process.

Function: set-process-output-stream process stream
Sets the value of the output stream component of the process object process to the stream stream, then returns stream.

See section Streams.


Go to the first, previous, next, last section, table of contents.