我做错了什么?
我只需要杀死Control + C上的两个线程。
def cleanup_stop_thread():
for thread in enumerate():
if thread.isAlive():
try:
self._Thread__stop()
except:
print(str(thread.getName()) + ' could not be terminated')
if __name__ == '__main__':
try:
threading.Thread(target = record).start()
threading.Thread(target = ftp).start()
except (KeyboardInterrupt, SystemExit):
cleanup_stop_thread();
sys.exit()
答案 0 :(得分:6)
不是试图在Ctrl + C上杀死它们,为什么不让它们成为守护进程?然后当主线程死亡时它们会自动退出。
t1 = threading.Thread(target=record)
t1.daemon = True
t1.start()
t2 = threading.Thread(target=ftp)
t2.daemon = True
t2.start()
答案 1 :(得分:0)
如果要在键入CTRL + C时终止所有线程,只需添加一个try块并导入os 当你想杀死一切时,做os._exit(0) 还要检查atexit模块
希望它有所帮助:)