我目前正在从Linux移植一个Python项目到Windows(使用Anaconda Python 3.6)。一切正常,我只是无法顺利退出asyncio循环。在Windows中asyncio循环的add_signal_handler()
在Linux中我做了以下内容:
class GracefulExit(SystemExit):
code = 1
def raise_graceful_exit():
raise GracefulExit()
loop = asyncio.get_event_loop()
loop.add_signal_handler(signal.SIGINT, raise_graceful_exit)
loop.add_signal_handler(signal.SIGTERM, raise_graceful_exit)
try:
loop.run_forever()
except GracefulExit:
pass
shutdown()
在Windows中,不幸的是我得到了NotImplementedError
上add_signal_handler
。没有这个,当然我从来没有机会彻底关闭程序。
关于如何解决这个问题的任何想法?谢谢。
请参阅[问题23057](http://bugs.python.org/issue23057)。 – eryksun