 |
Index for Section 3 |
|
 |
Alphabetical listing for P |
|
 |
Bottom of page |
|
popen(3)
NAME
popen - Initiates a pipe to a process
SYNOPSIS
#include <stdio.h>
FILE *popen(
const char *command,
const char *type );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
popen(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
command
Points to a null-terminated string containing a shell command line.
type
Points to a null-terminated string containing an I/O mode.
DESCRIPTION
The popen() function creates a pipe between the calling program and a shell
command to be executed. It returns a pointer to a FILE structure for the
stream.
If the type parameter is the value r, the calling program can read from the
standard output of the command by reading from the returned file stream. If
the type parameter is the value w, the calling program can write to the
standard input of the command by writing to the returned file stream.
Because open files are shared, a type r command can be used as an input
filter and a type w command as an output filter.
NOTES
Programs using the popen() function to invoke an output filter should
beware of possible deadlock caused by output data remaining in the
program's buffer. This can be avoided by either using the setbuf() function
to ensure that the output stream is unbuffered, or by using the fflush()
function to ensure that all buffered data is flushed before calling the
pclose() function.
Caution
If the original processes and the process started with the popen()
function concurrently read or write a common file, neither should use
buffered I/O. If they do, the results are unpredictable.
RETURN VALUES
Upon successful completion, the popen() function returns a pointer to the
FILE structure for the opened stream. In case of error because files or
processes could not be created, the popen() function returns a null
pointer.
SEE ALSO
Functions: exec(2), fork(2), fclose(3), fopen(3), pclose(3), pipe(2),
setbuf(3)
Standards: standards(5)
 |
Index for Section 3 |
|
 |
Alphabetical listing for P |
|
 |
Top of page |
|