在我的程序结束时,实际上不需要发生任何事情,CPython 3.2解释器花费近2分钟进行垃圾收集。这是known issue。
幸运的是,在我的情况下,我不需要在程序结束之前进行任何垃圾收集。因此,我只需要找到一种方法在完成后退出程序,而不会给gc.collect()
一个机会。
在Windows上按“CTRL + C”似乎是这样做的。我想我也可以找到python解释器的进程ID,并使用OS调用将其终止。
有没有办法使用纯Python(可能是异常或标准库调用)实现相同的效果,希望平台无关?
答案 0 :(得分:6)
import os
os._exit(0)
这是不鼓励的,因为析构函数可以执行一些有用的操作。如果您确定不需要运行这些析构函数,那么这应该可行。