|popen_nosh(3)||Linux Programmer's Manual||popen_nosh(3)|
NAME¶popen_nosh, pclose_nosh, popen_execs, pclose_execs, - pipe stream to or from a process without using a shell
FILE *popen_nosh(const char *command, const char
int pclose_nosh(FILE *stream);
FILE *popen_execsp(const char *command, const
int pclose_execsp(FILE *stream);
FILE *popen_execs(const char *path,const char
*command, const char *type);
int pclose_execs(FILE *stream);
These functions are provided by libexecs. Link with -lexecs.
DESCRIPTION¶popen_nosh, popen_execsp and pclose_nosh are almost drop in replacement for popen(3) and pclose(3) provided by the libc. popen_nosh and popen_execsp are synonyms: they parse the command string and run the command directly, without using a shell.
Command arguments in args are delimited by space characters (blank, tabs or new lines). Single or double quotes can be used to delimitate command arguments including spaces and a non quoted backslash (\) is the escape character to protect the next char. The executable file is sought using the PATH environment variable as explained for execlp(3).
pclose_nosh closes a stream opened by popen_nosh.
popen_execs requires the path of the executable to be specified as its first parameter so it does not use the PATH environment variable. pclose_execs closes a stream opened by popen_execs.
RETURN VALUE¶These functions have the same return values of popen(3) and pclose(3).