# -- 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)
看看你怎么发?
另外,你代码是有问题的.
补充:
测试代码是没有问题的,
gevent.signal
跟signal.signal
略有不同,gevent.signal
的handler是不接受参数的。http://sdiehl.github.io/geven... 这里的案例是错误的。再次补充
handler
也是一个greenlet。