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(3s)

wait(2)

sh(1sh)



POPEN(3S)               COMMAND REFERENCE               POPEN(3S)



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

SYNOPSIS
     #include <stdio.h>

     FILE *popen(command, type)
     char *command, *type;

     int pclose(stream)
     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.

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.

CAVEATS
     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; it never calls csh.

SEE ALSO
     pipe(2), fopen(3s), fclose(3s), system(3s), wait(2), and
     sh(1sh).









Printed 3/13/89                                                 1



%%index%%
na:288,98;
sy:386,1108;
de:1494,1045;
di:2539,489;
ca:3028,561;
se:3589,237;
%%index%%000000000110

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