1. 概述
    2. python的程序有两种退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。
    3. os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。
    4. sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。
    5. 举例说明
    6. 1 import os
    7. 2
    8. 3 try:
    9. 4 os._exit(0)
    10. 5 except:
    11. 6 print 'die.'
    12. 此处不会打出"going to die"
    13. import sys
    14. try:
    15. sys.exit(0)
    16. except:
    17. print 'die'
    18. finally:
    19. print 'cleanup'
    20. 输出:
    21. die
    22. cleanup
    23. 区别
    24. 综上,sys.exit()的退出比较优雅,调用后会引发SystemExit异常,可以捕获此异常做清理工作。os._exit()直接将python解释器退出,余下的语句不会执行。
    25. 一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()