popen(3)popen(3)Name
popen, pclose - initiate I/O to/from a process
Syntax
#include <stdio.h>
FILE *popen(command, type)
char *command, *type;
pclose(stream)
FILE *stream;
Description
The arguments to are pointers to null-terminated strings containing
respectively a shell command line and an I/O mode, either "r" for read‐
ing 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 should be closed by 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
The routine returns a null pointer if files or processes cannot be cre‐
ated, or the shell cannot be accessed.
The routine returns -1 if stream is not associated with a `popened'
command.
Restrictions
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 For further information, see
The routine always calls and never calls
See Alsosh(1), pipe(2), wait(2), system(3), fclose(3s), fopen(3s)popen(3)