POPEN.3
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:1k
- ." @(#)popen.3 6.1 (Berkeley) 5/15/85
- ."
- .TH POPEN 3 "May 15, 1985"
- .AT 3
- .SH NAME
- popen, pclose - initiate I/O to/from a process
- .SH SYNOPSIS
- .nf
- .ft B
- #include <stdio.h>
- FILE *popen(const char *command, const char *type)
- int pclose(FILE *stream)
- .SH DESCRIPTION
- The arguments to
- .B 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.
- .PP
- A stream opened by
- .B popen
- should be closed by
- .BR pclose ,
- which waits for the associated process to terminate
- and returns the exit status of the command.
- .PP
- Because open files are shared, a type "r" command may be used as an input
- filter, and a type "w" as an output filter.
- .SH "SEE ALSO"
- .BR pipe (2),
- .BR fopen (3),
- .BR fclose (3),
- .BR system (3),
- .BR wait (2),
- .BR sh (1).
- .SH DIAGNOSTICS
- .B Popen
- returns a null pointer if files or processes cannot be created, or the shell
- cannot be accessed.
- .SH BUGS
- 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
- .BR fflush ,
- see
- .BR fclose (3).