次のスクリプトを使用して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()
これは、Kubuntu11.10のPython2.7で実行されています。Ctrl+Cそれを殺すことはありません。また、システム信号のハンドラーを追加しようとしましたが、それは役に立ちませんでした。
import signal
import sys
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
Ctrlプロセスを強制終了するために、プログラムを+でバックグラウンドに送信した後、PIDで強制終了Zします。これは無視されません。Ctrl+Cがこれほど永続的に無視されるのはなぜですか?どうすればこれを解決できますか?