What is difference between sys.exit(0) and os._exit(0)
PythonPython Problem Overview
Please help me in clarifying the concept of these two python statements in terms of difference in functionality:
-
sys.exit(0)
-
os._exit(0)
Python Solutions
Solution 1 - Python
According to the documentation:
> os._exit(): Exit the process with status n, without calling cleanup handlers, flushing stdio buffers, etc.
>Note The standard way to exit is sys.exit(n)
. _exit()
should normally only be used in the child process after a fork()
.
Solution 2 - Python
os._exit
calls the C function _exit()
which does an immediate program
termination. Note the statement "can never return".
sys.exit()
is identical to raise SystemExit()
. It raises a Python
exception which may be caught by the caller.
Original post: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit