これらのテスト python コードを次のように記述しました。
import signal
import time
import os
def handler(signum, frame):
print "do whatever, like call thread.interrupt_main()"
return
signal.signal(signal.SIGINT, handler)
while 1:
try:
time.sleep(10)
except:
os.kill(int(os.getpid()), signal.SIGINT)
pass
Windowsでこのテストコードを実行すると、プロセスは「thread.interrupt_main()を呼び出すなど、何でもします」と出力してから終了します。Linux では正しく動作します。
なぜWindowsで動作しないのですか?