From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Jul 2021 18:25:31 +0000 (-0700) Subject: bpo-14879: [doc] clarify how to check for errors from subprocess.Popen(..., shell... X-Git-Tag: v3.9.7~138 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5ffbb05f1c3c952588ba5c1927da0e8223f5aaa7;p=thirdparty%2FPython%2Fcpython.git bpo-14879: [doc] clarify how to check for errors from subprocess.Popen(..., shell=True) (GH-26755) (GH-27289) (cherry picked from commit 50ffbe3dafcae7826d114df61d56c7ac45a6358c) Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com> --- diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 762da9b1b4dc..67754a7299df 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -662,7 +662,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.