gpt4 book ai didi

python - pyzmq Tornado ioloop : how to handle KeyboardInterrupt gracefully?

转载 作者:太空宇宙 更新时间:2023-11-04 08:11:04 27 4
gpt4 key购买 nike

我可以在我的 pyzmq 事件循环中捕获一个 KeyboardInterrupt:

try:
ioloop.IOLoop.instance().start()
except KeyboardInterrupt:
pass

但这只会突然停止 ioloop。我想检测 KeyboardInterrupt 并在清理后手动关闭 ioloop。我该怎么做?

最佳答案

使用signal模块处理SIGINT:

import signal
from tornado.ioloop import IOLoop

def on_shutdown():
print('Shutting down')
IOLoop.instance().stop()

if __name__ == '__main__':
ioloop = IOLoop.instance()

signal.signal(signal.SIGINT, lambda sig, frame: ioloop.add_callback_from_signal(on_shutdown))

ioloop.start()

关于python - pyzmq Tornado ioloop : how to handle KeyboardInterrupt gracefully?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com