Functions

dpopen.h File Reference

Double Pipe process invocation. More...

#include <unistd.h>
#include <stdio.h>

Go to the source code of this file.

Functions

pid_t dpopen (const char *command, FILE **in, FILE **out)
 Fast process invocation.
int dpclose (FILE *in, FILE *out, pid_t pid)
 Conclude a fast process stream.

Detailed Description

Double Pipe process invocation.


Function Documentation

pid_t dpopen ( const char *  command,
FILE **  in,
FILE **  out 
)

Fast process invocation.

fast_popen opens a process for execution, providing its output on a stream, just like the standard popen. However, fast_popen does not invoke the shell to interpret the command, which can be very time consuming. Thus, the command must be given as a full path, and may not include quotes, variables, or other features of the shell. (Note: there is no pipe close, we rely on SIGPIPE to kill the child.)

Parameters:
command The command string to execute.
in A pointer to a standard I/O stream, which this function will attach to the standard input of the process.
out A pointer to a standard I/O stream, which this function will attach to the standard input of the child process.
Returns:
The process ID of the newly created process.
int dpclose ( FILE *  in,
FILE *  out,
pid_t  pid 
)

Conclude a fast process stream.

Parameters:
in The standard input stream returned from dpopen.
out The standard input stream returned from dpopen.
pid The process ID returned from dpopen.
Returns:
The exit status of the process.