gevent主线程不能捕捉到SIGQUIT。
# -- coding:utf-8 --
from __future__ import print_function
import gevent
import signal
def run_forever():
gevent.sleep(1000)
if __name__ == '__main__':
gevent.signal(signal.SIGQUIT, lambda x: print('Caught 3.'))
thread = gevent.spawn(run_forever)
thread.join()
尝试向其发送SIGQUIT信号,但似乎进程并没有收到,why?
问题来源:http://sdiehl.github.io/geven... (关于Program Shutdown)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看你怎么发?
另外,你代码是有问题的.
补充:
测试代码是没有问题的,
gevent.signal
跟signal.signal
略有不同,gevent.signal
的handler是不接受参数的。http://sdiehl.github.io/geven... 这里的案例是错误的。再次补充
handler
也是一个greenlet。