У меня есть эта очень маленькая тестовая программа, которая ничего не делает кроме выполнения цикла событий asyncio
:
import asyncio
asyncio.get_event_loop().run_forever()
Когда я запускаю эту программу в Linux и нажимаю Ctrl + C, программа будет корректно завершена с помощью исключения KeyboardInterrupt
. В Windows нажатие Ctrl + C ничего не делает (протестировано с Python 3.4.2). Простой inifinite loop с time.sleep()
корректно возвращает KeyboardInterrupt
даже в Windows:
import time
while True:
time.sleep(3600)
Почему цикл событий asyncio подавляет KeyboardInterrupt в Windows?