1POPEN(3)                   Library Functions Manual                   POPEN(3)
2
3
4

NAME

6       popen, pclose - initiate I/O to/from a process
7

SYNOPSIS

9       #include <stdio.h>
10
11       FILE *popen(command, type)
12       char *command, *type;
13
14       pclose(stream)
15       FILE *stream;
16

DESCRIPTION

18       The arguments to popen are pointers to null-terminated strings containā€
19       ing respectively a shell command line and an I/O mode, either  "r"  for
20       reading  or  "w"  for  writing.   It creates a pipe between the calling
21       process and the command to be executed.  The value returned is a stream
22       pointer  that  can  be  used  (as appropriate) to write to the standard
23       input of the command or read from its standard output.
24
25       A stream opened by popen should be closed by pclose,  which  waits  for
26       the  associated process to terminate and returns the exit status of the
27       command.
28
29       Because open files are shared, a type "r" command may  be  used  as  an
30       input filter, and a type "w" as an output filter.
31

SEE ALSO

33       pipe(2), fopen(3S), fclose(3S), system(3), wait(2), sh(1)
34

DIAGNOSTICS

36       Popen  returns  a null pointer if files or processes cannot be created,
37       or the shell cannot be accessed.
38
39       Pclose returns -1 if stream is not associated with a `popened' command.
40

BUGS

42       Buffered reading before opening an input filter may leave the  standard
43       input  of  that  filter mispositioned.  Similar problems with an output
44       filter may be forestalled by careful  buffer  flushing,  for  instance,
45       with fflush, see fclose(3S).
46
47       Popen always calls sh, never calls csh.
48
49
50
517th Edition                      May 15, 1985                         POPEN(3)
Impressum