Annotation of cci/usr/src/man/man3/popen.3, revision 1.1.1.1

1.1       root        1: .TH POPEN 3 "18 July 1983"
                      2: .SH NAME
                      3: popen, pclose \- initiate I/O to/from a process
                      4: .SH SYNOPSIS
                      5: .B #include <stdio.h>
                      6: .PP
                      7: .SM
                      8: .B FILE
                      9: .B *popen(command, type)
                     10: .br
                     11: .B char *command, *type;
                     12: .PP
                     13: .B pclose(stream)
                     14: .br
                     15: .SM
                     16: .B FILE
                     17: .B *stream;
                     18: .SH DESCRIPTION
                     19: The arguments to 
                     20: .I popen
                     21: are pointers to null-terminated strings containing respectively a
                     22: shell command line and an I/O mode, either "r" for reading or "w" for
                     23: writing.  It creates a pipe between the calling process and
                     24: the command to be executed.  The value returned is a stream pointer that
                     25: can be used (as appropriate) to write to the standard input
                     26: of the command or read from its standard output.
                     27: .PP
                     28: A stream opened by
                     29: .I popen
                     30: should be closed by
                     31: .IR pclose ,
                     32: which waits for the associated process to terminate
                     33: and returns the exit status of the command.
                     34: .PP
                     35: Because open files are shared, a type "r" command may be used as an input
                     36: filter, and a type "w" as an output filter.
                     37: .SH "SEE ALSO"
                     38: pipe(2),
                     39: fopen(3S),
                     40: fclose(3S),
                     41: system(3),
                     42: wait(2),
                     43: sh(1)
                     44: .SH DIAGNOSTICS
                     45: .I Popen
                     46: returns a null pointer if files or processes cannot be created, or the shell 
                     47: cannot be accessed.
                     48: .PP
                     49: .I Pclose
                     50: returns \-1 if
                     51: .I stream
                     52: is not associated with a `popened' command.
                     53: .SH BUGS
                     54: Buffered reading before opening an input filter
                     55: may leave the standard input of that filter mispositioned.
                     56: Similar problems with an output filter may be
                     57: forestalled by careful buffer flushing, for instance, with
                     58: .I fflush,
                     59: see
                     60: .IR fclose (3).
                     61: .LP
                     62: .I Popen
                     63: always calls
                     64: .IR sh ,
                     65: never calls
                     66: .IR csh .

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.