Skip to content

Commit ab84572

Browse files
bpo-20104: Add os.posix_spawn documentation. (GH-6334)
(cherry picked from commit 79760ed) Co-authored-by: Gregory P. Smith <[email protected]>
1 parent d063ad8 commit ab84572

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Doc/library/os.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)