标签: python multithreading sigint
我有一个多线程程序并使用signal.signal(SIGINT,func)在按下ctrl c时终止所有线程。我的问题是:
我必须在python中从main调用signal.signal(...)。我是否必须在循环中调用它,或者我可以只设置一次,每当用户按下ctrl c时,信号将被捕获?
答案 0 :(得分:2)
只有主踏板才能处理信号。只需将所有线程设置为“daemonic”(在启动线程之前将线程对象的.daemon属性设置为True),以确保线程在主线程终止时终止。
.daemon
True