bpo-23750: Document os-system, subprocess. Patch by Martin Panter. (GH-26016)

* Document os-system, subprocess Patch

* Update Doc/library/os.rst

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
This commit is contained in:
uniocto 2021-05-12 05:47:05 +09:00 committed by GitHub
parent 12e7d10dfd
commit 5f2eb87f28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 5 deletions

View File

@ -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

View File

@ -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::