如果我在无限循环中有一个线程,有没有办法在主程序结束时(例如,当我按**Ctrl** +时**C** )终止它?
**Ctrl**
**C**
检查这个问题。正确答案对如何以正确的方式终止线程有很好的解释: 是否有任何方法可以杀死Python中的线程?
要使线程在键盘中断信号(ctrl + c)上停止,您可以在退出之前捕获异常“ KeyboardInterrupt”并进行清除。像这样:
try: start_thread() except (KeyboardInterrupt, SystemExit): cleanup_stop_thread() sys.exit()
这样,您可以控制程序突然终止时的处理方式。
您还可以使用内置的信号模块,该模块允许您设置信号处理程序(在您的特定情况下为SIGINT信号):http : //docs.python.org/library/signal.html