我有一个每 5 秒调用一次的函数,如下所示:
def check_buzz(super_buzz_words):
print 'Checking buzz'
t = Timer(5.0, check_buzz, args=(super_buzz_words,))
t.dameon = True
t.start()
buzz_word = get_buzz_word()
if buzz_word is not 'fail':
super_buzz_words.put(buzz_word)
main()
check_buzz()
我通过捕获键盘中断或捕获系统退出并调用以下命令来退出脚本:
sys.exit('\nShutting Down\n')
我还经常通过调用重新启动该程序:
execv(sys.executable, [sys.executable] + sys.argv)
我的问题是,如何关闭计时器线程?如果我键盘中断,计时器会继续计时。
最佳答案
我认为你刚刚拼写了 daemon 错误,它应该是:
t.daemon = True
那么 sys.exit() 应该可以工作
关于Python:定时器,如何在程序结束时停止线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29663211/