试验过一下的不行:
loop.stop() 不行, 它只有没有在任务计划中的I/O,才能停止
sys.exit(0) 或者 sys.exit(9) 无效果
class RegisterStop:
def __init__(self, loop, nacos_server):
self.loop = loop
self.nacos_server = nacos_server
signal.signal(signal.SIGTERM, self.sig_handler)
signal.signal(signal.SIGINT, self.sig_handler)
def sig_handler(self, sig, frame):
"""信号处理函数
"""
print("Stopping http server, please wait...: %s" % sig)
# nacos 注销微服务
self.nacos_server.deletedInstance()
# # 停止接受Client连接
cfg["server"].stop()
print("Stopping http loop.")
self.loop.stop()
os._exit(0)
最后暴力方式os._exit(0)