退出Python解释器而不运行垃圾收集

时间:2013-01-08 03:38:17

标签: python python-3.x garbage-collection interrupt

在我的程序结束时,实际上不需要发生任何事情,CPython 3.2解释器花费近2分钟进行垃圾收集。这是known issue

幸运的是,在我的情况下,我不需要在程序结束之前进行任何垃圾收集。因此,我只需要找到一种方法在完成后退出程序,而不会给gc.collect()一个机会。

在Windows上按“CTRL + C”似乎是这样做的。我想我也可以找到python解释器的进程ID,并使用OS调用将其终止。

有没有办法使用纯Python(可能是异常或标准库调用)实现相同的效果,希望平台无关?

1 个答案:

答案 0 :(得分:6)

import os
os._exit(0)

这是不鼓励的,因为析构函数可以执行一些有用的操作。如果您确定不需要运行这些析构函数,那么这应该可行。