Od Pythonu 3.5 jsou signálové konstanty definovány jako enum, což umožňuje hezčí přístup:
import signal
catchable_sigs = set(signal.Signals) - {signal.SIGKILL, signal.SIGSTOP}
for sig in catchable_sigs:
signal.signal(sig, print) # Substitute handler of choice for `print`
Můžete jednoduše procházet signály v signálovém modulu a nastavit je.
for i in [x for x in dir(signal) if x.startswith("SIG")]:
try:
signum = getattr(signal,i)
signal.signal(signum,sighandler)
except (OSError, RuntimeError) as m: #OSError for Python3, RuntimeError for 2
print ("Skipping {}".format(i))
Jak automaticky přidat uživatelský účet A heslo pomocí skriptu Bash?
Jak získat návratovou hodnotu z CHILD PROCESS?