简单的问题;你如何读取被称为信号处理程序的函数的返回值?
import signal
def SigHand(sig, frm):
return 'SomeValue'
signal.signal(signal.SIGCHLD, SigHand)
signal.pause()
有没有办法读取返回值'SomeValue'
而不是将其设置为全局?
答案 0 :(得分:3)
您可以创建一个带有返回值属性的简单类。
>>> import signal
>>> class SignalHandler(object):
... def __init__(self):
... self.retval = None
... def handle(self, sig, frm):
... self.retval = sig
...
>>> s = SignalHandler()
>>> s.retval
>>> signal.signal(signal.SIGALRM, s.handle)
0
>>> signal.alarm(1)
0
>>> s.retval
14