gh-118516: clarify that subprocess are automatically killed if transport gets garbage collected (#140997)

This commit is contained in:
Kumar Aditya 2025-11-06 10:21:13 +05:30 committed by GitHub
parent 95f6e1275b
commit 101c9c0a21
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 0 deletions

View File

@ -1631,6 +1631,9 @@ async/await code consider using the high-level
conforms to the :class:`asyncio.SubprocessTransport` base class and
*protocol* is an object instantiated by the *protocol_factory*.
If the transport is closed or is garbage collected, the child process
is killed if it is still running.
.. method:: loop.subprocess_shell(protocol_factory, cmd, *, \
stdin=subprocess.PIPE, stdout=subprocess.PIPE, \
stderr=subprocess.PIPE, **kwargs)
@ -1654,6 +1657,9 @@ async/await code consider using the high-level
conforms to the :class:`SubprocessTransport` base class and
*protocol* is an object instantiated by the *protocol_factory*.
If the transport is closed or is garbage collected, the child process
is killed if it is still running.
.. note::
It is the application's responsibility to ensure that all whitespace
and special characters are quoted appropriately to avoid `shell injection

View File

@ -76,6 +76,9 @@ Creating Subprocesses
See the documentation of :meth:`loop.subprocess_exec` for other
parameters.
If the process object is garbage collected while the process is still
running, the child process will be killed.
.. versionchanged:: 3.10
Removed the *loop* parameter.
@ -95,6 +98,9 @@ Creating Subprocesses
See the documentation of :meth:`loop.subprocess_shell` for other
parameters.
If the process object is garbage collected while the process is still
running, the child process will be killed.
.. important::
It is the application's responsibility to ensure that all whitespace and