Skip to main content
 首页 » 编程设计

Python之在 Control+C 上杀死多个线程

2025年05月04日19zhujiabin

我做错了什么?

我只需要在 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() 

请您参考如下方法:

与其尝试通过 Ctrl+C 杀死它们,不如让它们成为守护线程?然后当主线程结束时它们会自动退出。

t1 = threading.Thread(target=record) 
t1.daemon = True 
t1.start() 
 
t2 = threading.Thread(target=ftp) 
t2.daemon = True 
t2.start()