@@ -3353,6 +3353,31 @@ written in Python, such as a mail server's external command delivery program.
3353
3353
subprocesses.
3354
3354
3355
3355
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
+
3356
3381
.. function :: register_at_fork(*, before=None, after_in_parent=None, \
3357
3382
after_in_child=None)
3358
3383
0 commit comments