60 lines
1.6 KiB
Groff
60 lines
1.6 KiB
Groff
|
|
|
|
POPEN(3) Minix Programmer's Manual POPEN(3)
|
|
|
|
|
|
NAME
|
|
popen, pclose - initiate I/O to/from a process
|
|
|
|
SYNOPSIS
|
|
#include <stdio.h>
|
|
|
|
FILE *popen(const char *command, const char *type)
|
|
int pclose(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.
|
|
|
|
SEE ALSO
|
|
pipe(2), fopen(3), fclose(3), system(3), wait(2), sh(1).
|
|
|
|
DIAGNOSTICS
|
|
Popen returns a null pointer if files or processes cannot be created, or
|
|
the shell cannot be accessed.
|
|
|
|
BUGS
|
|
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(3).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
May 15, 1985 1
|
|
|