我正在尝试出于测试目的运行一些基本内容,因此无法解决此问题。这里没有很多智慧吗?
import sys
import asyncio
import signal
def ctrl_c():
print("hit!")
sys.exit(1)
loop = asyncio.get_event_loop()
loop.add_signal_handler(signal.SIGINT, ctrl_c)
loop.run_forever()
我正在IDLE python 3.6中运行它,其追溯为:
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
============== RESTART: C:\Users\benb\Desktop\reasyncio\loop.py ==============
Traceback (most recent call last):
File "C:\Users\benb\Desktop\reasyncio\loop.py", line 10, in <module>
loop.add_signal_handler(signal.SIGINT, ctrl_c)
File "C:\Users\benb\AppData\Local\Programs\Python\Python36\lib\asyncio\events.py", line 499, in add_signal_handler
raise NotImplementedError
NotImplementedError
>>>
任何提示都可以帮助您
答案 0 :(得分:0)
该错误消息试图告诉您Windows上不提供对信号的支持。这是因为Windows本身不支持信号作为进程间通信的手段。 Windows所说的信号只能捕获过程中出现的某些低级情况,例如浮点错误或用户按下 Ctrl-C 。参见例如this post了解详情。