POPEN(3S) GENIX Programmer's Manual POPEN(3S)
NAME
popen, pclose - initiate I/O to/from a process
SYNOPSIS
#include <stdio.h>
FILE *popen(command, type)
char *command, *type;
pclose(stream)
FILE *stream;
DESCRIPTION
The arguments to popen are pointers to null-terminated strings con-
taining respectively a shell command line and an I/O mode, either
"r" for reading or "w" for writing. It 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, a type "r" command may be used as an
input filter, and a type "w" as an output filter.
SEE ALSO
pipe(2), fopen(3), fclose(3), system(3), wait(2)
DIAGNOSTICS
Popen returns a null pointer if files or processes cannot be
created, or the Shell cannot be accessed.
Pclose returns -1 if stream is not associated with a `popened' com-
mand.
BUGS
Buffered reading before opening an input filter may leave the stan-
dard input of that filter mispositioned. Similar problems with an
output filter may be forestalled by careful buffer flushing, e.g.
with fflush, see fclose(3).
Printed 11/16/83 1