正确退出python

jdb*_*org 3 python

我知道sys.exit()会引发一个Exit异常,所以当我运行它时我知道它不会退出:

In [25]: try:
   ....:     sys.exit()
   ....: except:
   ....:     print "oops"
   ....:     
oops
Run Code Online (Sandbox Code Playgroud)

但我认为os._exit()意味着使用C调用退出,但它也导致异常:

In [28]: try:
   ....:     os._exit()
   ....: except:
   ....:     print "oops"
   ....:     
oops
Run Code Online (Sandbox Code Playgroud)

有没有办法这样做而不会杀死PID?

mgi*_*son 9

我不确定我理解你的问题,但是os._exit没有引发异常 - 你os._exit用错误的参数调用是:

try:
    os._exit()
except Exception as e:
    print e

#output: _exit() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)