https://github.com/python/cpython/commit/101c9c0a2187940900f684086cb9ba0d456fda49
commit: 101c9c0a2187940900f684086cb9ba0d456fda49
branch: main
author: Kumar Aditya <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2025-11-06T10:21:13+05:30
summary:
gh-118516: clarify that subprocess are automatically killed if transport gets
garbage collected (#140997)
files:
M Doc/library/asyncio-eventloop.rst
M Doc/library/asyncio-subprocess.rst
diff --git a/Doc/library/asyncio-eventloop.rst
b/Doc/library/asyncio-eventloop.rst
index 0ccc7a2b4482ec..72f484fd1cbe77 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -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
diff --git a/Doc/library/asyncio-subprocess.rst
b/Doc/library/asyncio-subprocess.rst
index 03e76bc868905e..9416c758e51d95 100644
--- a/Doc/library/asyncio-subprocess.rst
+++ b/Doc/library/asyncio-subprocess.rst
@@ -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
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]