Я тестую потоки 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()
Це працює в Python 2.7 на Kubuntu 11.10. Ctrl+ Cне вб'є. Я також спробував додати обробник для системних сигналів, але це не допомогло:
import signal
import sys
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
Для вбивства процесу я вбиваю його PID після відправлення програми на задній план з Ctrl+ Z, що не ігнорується. Чому ігнорується Ctrl+ Cтак наполегливо? Як я можу це вирішити?