@@ -3353,6 +3353,31 @@ written in Python, such as a mail server's external command delivery program.
33533353 subprocesses.
33543354
33553355
3356+ .. function :: posix_spawn(path, argv, env, file_actions=None)
3357+
3358+ Wraps the posix_spawn() C library API for use from Python.
3359+
3360+ Most users should use :class: `subprocess.run ` instead of posix_spawn.
3361+
3362+ The *path *, *args *, and *env * arguments are similar to :func: `execve `.
3363+
3364+ The *file_actions * argument may be a sequence of tuples describing actions
3365+ to take on specific file descriptors in the child process between the C
3366+ library implementation's fork and exec steps. The first item in each tuple
3367+ must be one of the three type indicator listed below describing the
3368+ remaining tuple elements:
3369+
3370+ (os.POSIX_SPAWN_OPEN, fd, path, open flags, mode)
3371+ (os.POSIX_SPAWN_CLOSE, fd)
3372+ (os.POSIX_SPAWN_DUP2, fd, new_fd)
3373+
3374+ These tuples correspond to the C library posix_spawn_file_actions_addopen,
3375+ posix_spawn_file_actions_addclose, and posix_spawn_file_actions_adddup2 API
3376+ calls used to prepare for the posix_spawn call itself.
3377+
3378+ .. versionadded :: 3.7
3379+
3380+
33563381.. function :: register_at_fork(*, before=None, after_in_parent=None, \
33573382 after_in_child=None)
33583383
0 commit comments