Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pclose(3s) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pipe(2)

wait(2)

fclose(3S)

fopen(3S)

system(3S)



popen(3S)                                               popen(3S)



NAME
     popen, pclose - initiate pipe 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.  popen
     creates a pipe between the calling program and the command
     to be executed.  The value returned is a stream pointer such
     that one can write to the standard input of the command, if
     the I/O mode is w, by writing to the file stream; and one
     can read from the standard output of the command, if the I/O
     mode is r, by reading from the file stream.

     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), wait(2), fclose(3S), fopen(3S), system(3S).

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 popened
     command.

BUGS
     If the original and popened processes concurrently read or
     write a common file, neither should use buffered I/O,
     because the buffering gets all mixed up.  Problems with an
     output filter may be forestalled by careful buffer flushing,
     e.g. with fflush; see fclose(3S).

     popen always calls sh, never calls csh.







Page 1                        CX/UX Programmer's Reference Manual



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