信号处理程序,python

时间:2010-09-22 02:23:40

标签: python multithreading sigint

我有一个多线程程序并使用signal.signal(SIGINT,func)在按下ctrl c时终止所有线程。我的问题是:

我必须在python中从main调用signal.signal(...)。我是否必须在循环中调用它,或者我可以只设置一次,每当用户按下ctrl c时,信号将被捕获?

1 个答案:

答案 0 :(得分:2)

只有主踏板才能处理信号。只需将所有线程设置为“daemonic”(在启动线程之前将线程对象的.daemon属性设置为True),以确保线程在主线程终止时终止。