coprocv, coprocvp, coprocvpe, coprocs, coprocsp - execute a command in coprocessing mode
Contents
Bugs
Bug reports should be addressed to <info@virtualsquare.org>
Description
These functions run commands in coprocessing mode. They differs in the way to specify the executable
file to run and its parameters. All of them define two pipes (by pipe(2)), create a new process by
fork(2), redirect the standard input and output of the new process in the two pipes, and exec a program
by one of the exec(3) functions.
The calling program controls both the standard input and the standard output of the called process:
writing to pipefd[1] provides input to the coprocess while the coprocess output can be retrieved from
pipefd[0].
coprocv, coprocve, coprocvp, coprocvpe, coprocs, coprocse, coprocsp, and coprocsp differ as they define
the executable file to run and its arguments as execv, execve, execvp, execvpe, execs, execse, execsp,
and execsp, respectively.
Name
coprocv, coprocvp, coprocvpe, coprocs, coprocsp - execute a command in coprocessing mode
Synopsis
#include<execs.h>pid_tcoprocv(constchar*path,char*constargv[],intpipefd[2]);pid_tcoprocve(constchar*path,char*constargv[],char*constenvp[],intpipefd[2]);pid_tcoprocvp(constchar*file,char*constargv[],intpipefd[2]);pid_tcoprocvpe(constchar*file,char*constargv[],char*constenvp[],intpipefd[2]);pid_tcoprocs(constchar*path,constchar*command,intpipefd[2]);pid_tcoprocse(constchar*path,constchar*command,char*constenvp[],intpipefd[2]);pid_tcoprocsp(constchar*command,intpipefd[2]);pid_tcoprocspe(constchar*command,char*constenvp[],intpipefd[2]);
These functions are provided by libexecs. Link with -lexecs.
