[Python-checkins] bpo-23750: Document os-system, subprocess. Patch by Martin Panter. (GH-26016) (GH-26040)
orsenthil
webhook-mailer at python.org
Tue May 11 16:55:22 EDT 2021
https://github.com/python/cpython/commit/6fc6f4366d02412e3424d2a6da43a28d8f479d7b
commit: 6fc6f4366d02412e3424d2a6da43a28d8f479d7b
branch: 3.10
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: orsenthil <skumaran at gatech.edu>
date: 2021-05-11T13:55:15-07:00
summary:
bpo-23750: Document os-system, subprocess. Patch by Martin Panter. (GH-26016) (GH-26040)
* Document os-system, subprocess Patch
* Update Doc/library/os.rst
Co-authored-by: Ken Jin <28750310+Fidget-Spinner at users.noreply.github.com>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner at users.noreply.github.com>
(cherry picked from commit 5f2eb87f2893c5e77ade4d662cebcce59d3f2c2f)
Co-authored-by: uniocto <serit142sa33go at gmail.com>
Co-authored-by: uniocto <serit142sa33go at gmail.com>
files:
M Doc/library/os.rst
M Doc/library/subprocess.rst
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 6f9f3219481c2..24ba15382e9a1 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -4211,12 +4211,12 @@ written in Python, such as a mail server's external command delivery program.
the Standard C function :c:func:`system`, and has the same limitations.
Changes to :data:`sys.stdin`, etc. are not reflected in the environment of
the executed command. If *command* generates any output, it will be sent to
- the interpreter standard output stream.
+ the interpreter standard output stream. The C standard does not
+ specify the meaning of the return value of the C function, so the return
+ value of the Python function is system-dependent.
On Unix, the return value is the exit status of the process encoded in the
- format specified for :func:`wait`. Note that POSIX does not specify the
- meaning of the return value of the C :c:func:`system` function, so the return
- value of the Python function is system-dependent.
+ format specified for :func:`wait`.
On Windows, the return value is that returned by the system shell after
running *command*. The shell is given by the Windows environment variable
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index b60db58d182e6..56b6b6e001573 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -1292,11 +1292,17 @@ Replacing :func:`os.system`
sts = os.system("mycmd" + " myarg")
# becomes
- sts = call("mycmd" + " myarg", shell=True)
+ retcode = call("mycmd" + " myarg", shell=True)
Notes:
* Calling the program through the shell is usually not required.
+* The :func:`call` return value is encoded differently to that of
+ :func:`os.system`.
+
+* The :func:`os.system` function ignores SIGINT and SIGQUIT signals while
+ the command is running, but the caller must do this separately when
+ using the :mod:`subprocess` module.
A more realistic example would look like this::
More information about the Python-checkins
mailing list