From d0c61753036dcae292d49aa8ddac555062da6b76 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Jul 2021 11:25:57 -0700 Subject: bpo-14879: [doc] clarify how to check for errors from subprocess.Popen(..., shell=True) (GH-26755) (GH-27288) (cherry picked from commit 50ffbe3dafcae7826d114df61d56c7ac45a6358c) Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com> --- Doc/library/subprocess.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 56b6b6e..6c127dc 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -689,7 +689,10 @@ execute, will be re-raised in the parent. The most common exception raised is :exc:`OSError`. This occurs, for example, when trying to execute a non-existent file. Applications should prepare for -:exc:`OSError` exceptions. +:exc:`OSError` exceptions. Note that, when ``"shell=True"``, :exc:`OSError` +will be raised by the child only if the selected shell itself was not found. +To determine if the shell failed to find the requested application, it is +necessary to check the return code or output from the subprocess. A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid arguments. -- cgit v0.12