#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)
|
||||
|
||||
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.
|
||||
|
||||
Availability: Unix, Windows.
|
||||
|
||||
.. note::
|
||||
|
||||
The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally only
|
||||
be used in the child process after a :func:`fork`.
|
||||
The standard way to exit is ``sys.exit(n)``. :func:`_exit` should
|
||||
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`,
|
||||
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`
|
||||
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
|
||||
outer level. The optional argument *arg* can be an integer giving the exit
|
||||
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
|
||||
"abnormal termination" by shells and the like. Most systems require it to be in
|
||||
the range 0-127, and produce undefined results otherwise. Some systems have a
|
||||
convention for assigning specific meanings to specific exit codes, but these are
|
||||
generally underdeveloped; Unix programs generally use 2 for command line syntax
|
||||
errors and 1 for all other kind of errors. If another type of object is passed,
|
||||
``None`` is equivalent to passing zero, and any other object is printed to
|
||||
``sys.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.
|
||||
statements are honored, and it is possible to intercept the exit attempt at
|
||||
an outer level.
|
||||
|
||||
The optional argument *arg* can be an integer giving the exit 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
|
||||
"abnormal termination" by shells and the like. Most systems require it to be
|
||||
in the range 0-127, and produce undefined results otherwise. Some systems
|
||||
have a convention for assigning specific meanings to specific exit codes, but
|
||||
these are generally underdeveloped; Unix programs generally use 2 for command
|
||||
line syntax errors and 1 for all other kind of errors. If another type of
|
||||
object is passed, ``None`` is equivalent to passing zero, and any other
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user