#5962: clarify sys.exit() vs. threads.
This commit is contained in:
parent
a192828ea1
commit
6f4e68d82c
@ -1576,15 +1576,15 @@ to be ignored.
|
|||||||
|
|
||||||
.. function:: _exit(n)
|
.. function:: _exit(n)
|
||||||
|
|
||||||
Exit to the system with status *n*, without calling cleanup handlers, flushing
|
Exit the process with status *n*, without calling cleanup handlers, flushing
|
||||||
stdio buffers, etc.
|
stdio buffers, etc.
|
||||||
|
|
||||||
Availability: Unix, Windows.
|
Availability: Unix, Windows.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally only
|
The standard way to exit is ``sys.exit(n)``. :func:`_exit` should
|
||||||
be used in the child process after a :func:`fork`.
|
normally only be used in the child process after a :func:`fork`.
|
||||||
|
|
||||||
The following exit codes are defined and can be used with :func:`_exit`,
|
The following exit codes are defined and can be used with :func:`_exit`,
|
||||||
although they are not required. These are typically used for system programs
|
although they are not required. These are typically used for system programs
|
||||||
|
@ -180,19 +180,25 @@ always available.
|
|||||||
|
|
||||||
Exit from Python. This is implemented by raising the :exc:`SystemExit`
|
Exit from Python. This is implemented by raising the :exc:`SystemExit`
|
||||||
exception, so cleanup actions specified by finally clauses of :keyword:`try`
|
exception, so cleanup actions specified by finally clauses of :keyword:`try`
|
||||||
statements are honored, and it is possible to intercept the exit attempt at an
|
statements are honored, and it is possible to intercept the exit attempt at
|
||||||
outer level. The optional argument *arg* can be an integer giving the exit
|
an outer level.
|
||||||
status (defaulting to zero), or another type of object. If it is an integer,
|
|
||||||
zero is considered "successful termination" and any nonzero value is considered
|
The optional argument *arg* can be an integer giving the exit status
|
||||||
"abnormal termination" by shells and the like. Most systems require it to be in
|
(defaulting to zero), or another type of object. If it is an integer, zero
|
||||||
the range 0-127, and produce undefined results otherwise. Some systems have a
|
is considered "successful termination" and any nonzero value is considered
|
||||||
convention for assigning specific meanings to specific exit codes, but these are
|
"abnormal termination" by shells and the like. Most systems require it to be
|
||||||
generally underdeveloped; Unix programs generally use 2 for command line syntax
|
in the range 0-127, and produce undefined results otherwise. Some systems
|
||||||
errors and 1 for all other kind of errors. If another type of object is passed,
|
have a convention for assigning specific meanings to specific exit codes, but
|
||||||
``None`` is equivalent to passing zero, and any other object is printed to
|
these are generally underdeveloped; Unix programs generally use 2 for command
|
||||||
``sys.stderr`` and results in an exit code of 1. In particular,
|
line syntax errors and 1 for all other kind of errors. If another type of
|
||||||
``sys.exit("some error message")`` is a quick way to exit a program when an
|
object is passed, ``None`` is equivalent to passing zero, and any other
|
||||||
error occurs.
|
object is printed to :data:`stderr` and results in an exit code of 1. In
|
||||||
|
particular, ``sys.exit("some error message")`` is a quick way to exit a
|
||||||
|
program when an error occurs.
|
||||||
|
|
||||||
|
Since :func:`exit` ultimately "only" raises an exception, it will only exit
|
||||||
|
the process when called from the main thread, and the exception is not
|
||||||
|
intercepted.
|
||||||
|
|
||||||
|
|
||||||
.. data:: flags
|
.. data:: flags
|
||||||
|
Loading…
x
Reference in New Issue
Block a user