POPEN(S) XENIX System V POPEN(S)
Name
popen, pclose - Initiates I/O to or from a process.
Syntax
#include <stdio.h>
FILE *popen (command, type)
char *command, *type;
int pclose (stream)
FILE *stream;
Description
The arguments to popen are pointers to null-terminated
strings containing, respectively, a shell command line and
an I/O mode, either ``r'' for reading or ``w'' for writing.
popen creates a pipe between the calling process and the
command to be executed. The value returned is a stream
pointer that can be used (as appropriate) to write to the
standard input of the command or read from its standard
output.
A stream opened by popen should be closed by pclose, which
waits for the associated process to terminate and returns
the exit status of the command. Because open files are
shared between processes, a type ``r'' command may be used
as an input filter, and a type ``w'' as an output filter.
See Also
pipe(S), wait(S), fclose(S), fopen(S), system(S)
Diagnostics
popen returns a null pointer if files or processes cannot be
created, or if the shell cannot be accessed.
pclose returns -1 if stream is not associated with a popened
command.
Notes
Only one stream opened by popen can be in use at once.
Buffered reading before opening an input filter may leave
the standard input of that filter mispositioned. Similar
problems with an output filter may be forestalled by careful
buffer flushing; see fclose(S).
Page 1 (printed 8/7/87)