sys.exit(0)和os._exit(0)有什么区别


Answers:


74

根据文档

os._exit():

退出状态为n的进程,而无需调用清理处理程序,刷新stdio缓冲区等。

注意退出的标准方法是sys.exit(n)_exit()通常只应在fork()。之后的子进程中使用。


2
在我的程序中,我启动了多个线程,我想要的是,只要任何线程中都有异常,整个程序就应该终止。我在线程之外使用sys.exit(1),但这仅从单线程退出而不是从程序退出。所以我用os_exit(1)是这个好方法吗?
Aamir Adnan'3


14
有人可以扩展一下,“通常只应在fork()之后在子进程中使用”吗?谢谢
Gringo Suave 2014年

为什么“标准退出方式”要求导入模块?似乎很可笑。
deanresin

1
@deanresin为什么必须是内置的?即使在C中,您也需要包含stdlib.h
Ignatius

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.