【发布时间】:2012-08-05 11:16:13
【问题描述】:
我正在使用以下脚本测试 Python 线程:
import threading
class FirstThread (threading.Thread):
def run (self):
while True:
print 'first'
class SecondThread (threading.Thread):
def run (self):
while True:
print 'second'
FirstThread().start()
SecondThread().start()
这是在 Kubuntu 11.10 上的 Python 2.7 中运行的。 Ctrl+C 不会杀死它。我还尝试为系统信号添加处理程序,但这没有帮助:
import signal
import sys
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
为了杀死进程,我在使用 Ctrl+Z 将程序发送到后台后通过 PID 杀死它,这不会被忽略。为什么 Ctrl+C 会被如此持久地忽略?我该如何解决这个问题?
【问题讨论】:
-
@dotancohen 它在 Windows 上工作吗?
-
@vitaibian:我没有在 Windows 上测试过,但它似乎与操作系统无关。