mirror of https://github.com/python/cpython
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:
parent
12e7d10dfd
commit
5f2eb87f28
|
@ -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
|
||||
|
|
|
@ -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::
|
||||
|
||||
|
|
Loading…
Reference in New Issue