PythonでCtrl+でプロセスの実行を止めたいです。しかし、例外はメインスレッドでのみ発生するCことをどこかで読んだことがあります。KeyboardInterrupt
また、子スレッドの実行中にメインスレッドがブロックされることも読みました。では、どうすれば子スレッドを強制終了できますか?
たとえば、次のコードではCtrl+は効果がありません。C
def main():
try:
thread = threading.Thread(target=f)
thread.start() # thread is totally blocking (e.g. while True)
thread.join()
except KeyboardInterrupt:
print "Ctrl+C pressed..."
sys.exit(1)
def f():
while True:
pass # do the actual work