Saya menguji threading Python dengan skrip berikut:
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()
Ini berjalan dengan Python 2.7 di Kubuntu 11.10. Ctrl+ Ctidak akan membunuhnya. Saya juga mencoba menambahkan penangan untuk sinyal sistem, tetapi itu tidak membantu:
import signal
import sys
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
Untuk menghentikan proses, saya membunuhnya dengan PID setelah mengirim program ke latar belakang dengan Ctrl+ Z, yang tidak diabaikan. Mengapa Ctrl+ Cterus-menerus diabaikan? Bagaimana cara mengatasi ini?