Flags passed to, and .
no flags, default behaviour
the parent's open file descriptors will be inherited by the child; otherwise all descriptors except stdin/stdout/stderr will be closed before calling exec() in the child.
the child will not be automatically reaped; you must useyourself (or call waitpid() or handle <literal>SIGCHLD</literal> yourself), or the child will become a zombie.
<literal>argv</literal> need not be an absolute path, it will be looked for in the user's <envar>PATH</envar>.
the child's standard output will be discarded, instead of going to the same location as the parent's standard output.
the child's standard error will be discarded.
the child will inherit the parent's standard input (by default, the child's standard input is attached to <filename>/dev/null</filename>).
the first element of <literal>argv</literal> is the file to execute, while the remaining elements are the actual argument vector to pass to the file. Normallyuses <literal>argv</literal> as the file to execute, and passes all of <literal>argv</literal> to the child.
if <literal>argv</literal> is not an abolute path, it will be looked for in the <envar>PATH</envar> from the passed child environment. Since: 2.34
create all pipes with the O_CLOEXEC flag set. Since: 2.40.