POPEN(3S) COMMAND REFERENCE POPEN(3S)
NAME
popen, pclose - initiate I/O to/from a process
SYNOPSIS
#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. 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.
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
command.
CAVEATS
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, for instance, with fflush, see fclose(3s).
Popen always calls sh; it never calls csh.
SEE ALSO
pipe(2), fopen(3s), fclose(3s), system(3s), wait(2), and
sh(1sh).
Printed 3/13/89 1
%%index%%
na:288,98;
sy:386,1108;
de:1494,1045;
di:2539,489;
ca:3028,561;
se:3589,237;
%%index%%000000000110