gh-88324: Clarify documentation for redirected stdout/stderr when using subprocess in Linux #94035
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The description of
subprocess
input parameters stdin, stdout, and stderr does not make it clear that the default behavior (==None
) is "no redirection will occur". One way to make this more clear to the reader is to describe the default behavior earlier in the argument description.Second, the statement "the child’s file handles will be inherited from the parent" is wrong, as discussed in linked issue https://bugs.python.org/issue1227748. The child file handle behavior is better described by the
close_fds
input argument.Asside: close_fds description
If close_fds is true, all file descriptors except 0, 1 and 2 will be closed before the child process is executed. Otherwise when close_fds is false, file descriptors obey their inheritable flag as described in Inheritance of File Descriptors.
On Windows, if close_fds is true then no handles will be inherited by the child process unless explicitly passed in the handle_list element of STARTUPINFO.lpAttributeList, or by standard handle redirection.
Changes
None
option and description up in the documentation to make it more clear that the default behavior is "no redirection will occur"close_fds
input parameterResolve #88324