@node posix_spawnp
@subsection @code{posix_spawnp}
@findex posix_spawnp

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_spawnp.html}

Gnulib module: posix_spawnp
@mindex posix_spawnp

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.3, AIX 5.1, HP-UX 11, Solaris 9, Cygwin 1.7.x, mingw, MSVC 14, Android 8.1.
@item
When this function fails, it causes the stdio buffer contents to be output
twice on some platforms:
AIX 6.1.
@item
When the program to be invoked is an executable script without a @samp{#!}
marker in the first line, this function executes the script as if it were
a shell script, on some platforms:
@c https://www.austingroupbugs.net/view.php?id=1674
glibc 2.14/Linux, glibc 2.32/Hurd, macOS 14, FreeBSD 14.0, OpenBSD 7.2, AIX 7.2, Solaris 11.4, Cygwin 3.4.6.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function does not work on some platforms:
AIX 6.1 (under particular circumstances).
@end itemize

@mindex posix_spawn_file_actions_addchdir
@mindex posix_spawn_file_actions_addfchdir
The Gnulib modules @code{posix_spawn_file_actions_addchdir} and
@code{posix_spawn_file_actions_addfchdir} provide additional actions,
that consist in changing the current directory of the child process
before starting the specified program.
