Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pipe(2)

fopen(3S)

fclose(3S)

system(3)

wait(2)

sh(1)



POPEN(3S)                DOMAIN/IX SYS5                 POPEN(3S)



NAME
     popen, pclose - initiate I/O to and from a process

USAGE
     #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 that contain a shell command line and an I/O mode,
     respectively.  The I/O mode is either "r" for reading or "w"
     for writing.  Popen 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 stan-
     dard output.

     A stream opened by popen should be closed by pclose, which
     waits for the process associated with it to terminate and
     returns the exit status of the command.

     Because open files are shared, an "r" command may act as an
     input filter, and a "w" as an output filter.

NOTES
     Buffered reading before opening an input filter may leave
     the standard input of that filter in the wrong position.
     Similar problems with an output filter may be forestalled by
     careful buffer flushing with fflush; see fclose(3).

DIAGNOSTICS
     Popen returns a null pointer if files or processes cannot be
     created, or if the shell cannot be accessed.

     Pclose returns -1 if stream is not associated with a command
     opened by popen.

RELATED INFORMATION
     pipe(2), fopen(3S), fclose(3S), system(3), wait(2), sh(1)








Printed 12/4/86                                           POPEN-1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026