Ctrl-Cを押すと、次のコードはすぐに終了します。
keep_going
ただし、ループの先頭に到達するまでのステータスをチェックしていないため、ループは10秒の遅延後に終了する必要があるようです。このコードがすぐにループを終了するのはなぜですか?
ループが終了する前にループの実行が終了することを確認するにはどうすればよいですか?
import signal
import time
keep_going = True
def signal_handler(signal, frame):
global keep_going
print 'quitting!'
keep_going = False
signal.signal(signal.SIGINT, signal_handler)
while keep_going:
print 'looping...'
time.sleep(10)
print 'bye!'