如果除主线程之外的所有线程都是守护进程,则最佳方法通常是thread.interrupt_main()-任何线程都可以使用它
KeyboardInterrupt在主线程中引发a
,这通常会导致从主线程中合理地干净退出(包括主线程中的终结器被调用等)。
当然,如果这导致某些非守护进程线程使整个过程保持活动状态,则需要
os._exit按照Mark的建议进行后续操作-但我认为这是最后的手段(有点像
kill-9;-),因为它终止了事情非常残酷(finalizer不能运行,包括
try/finally块,
with块,
atexit函数等)。



