Question simple; Comment lisez-vous la valeur de retour d'une fonction appelée gestionnaire de signal?
import signal
def SigHand(sig, frm):
return "SomeValue"
signal.signal(signal.SIGCHLD, SigHand)
signal.pause()
Est-il possible de lire la valeur de retour "SomeValue"
autre que de le définir comme un global?
Réponses:
3 pour la réponse № 1Vous pouvez créer une classe simple avec un attribut de valeur de retour.
>>> 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