/ / Signal Python: lecture du retour de la fonction de traitement du signal - python, valeur de retour, signaux

Signal Python: lecture du retour de la fonction de traitement du signal - python, valeur de retour, signaux

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 № 1

Vous 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