POPEN(3)                                                              POPEN(3)


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 contain‐
       ing 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 pro‐
       cess 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(3S), fclose(3S), 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.

       Pclose returns -1 if stream is not associated with a ‘popened’ command.

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(3S).

       Popen always calls sh, never calls csh.


7th Edition                      May 15, 1985                         POPEN(3)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 708
Valid CSS Valid XHTML 1.0 Strict