Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ popen(3S) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pipe(2)

fopen(3)

fclose(3)

system(3)

wait(2)



      POPEN(3S)               GENIX Programmer's Manual               POPEN(3S)



      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  con-
           taining  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)

      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'  com-
           mand.

      BUGS
           Buffered reading before opening an input filter may leave the  stan-
           dard  input  of that filter mispositioned.  Similar problems with an
           output filter may be forestalled by careful  buffer  flushing,  e.g.
           with fflush, see fclose(3).













      Printed 11/16/83                                                        1



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