4

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

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

4

1 回答 1

2

只有主胎面可以处理信号。只需将所有线程设为“守护进程”(在启动线程之前将线程对象的.daemon属性设置为True),以确保线程在主线程执行时终止。

于 2010-09-22T02:27:12.347 回答