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.
See section Streams.
Go to the first, previous, next, last section, table of contents.