Ese código no funcionará en la versión actual del pitón. Hay muchas variables que comienzan con SIG con el mismo valor. Por ejemplo, SIGHUP y SIG_UNBLOCK son ambos 1. La única forma en que podía pensar en obtener una lista de señales reales era hacerlo yo mismo.
from signal import *
signals = {
SIGABRT: 'SIGABRT',
SIGALRM: 'SIGALRM',
SIGBUS: 'SIGBUS',
SIGCHLD: 'SIGCHLD',
SIGCONT: 'SIGCONT',
SIGFPE: 'SIGFPE',
SIGHUP: 'SIGHUP',
SIGILL: 'SIGILL',
SIGINT: 'SIGINT',
SIGPIPE: 'SIGPIPE',
SIGPOLL: 'SIGPOLL',
SIGPROF: 'SIGPROF',
SIGQUIT: 'SIGQUIT',
SIGSEGV: 'SIGSEGV',
SIGSYS: 'SIGSYS',
SIGTERM: 'SIGTERM',
SIGTRAP: 'SIGTRAP',
SIGTSTP: 'SIGTSTP',
SIGTTIN: 'SIGTTIN',
SIGTTOU: 'SIGTTOU',
SIGURG: 'SIGURG',
SIGUSR1: 'SIGUSR1',
SIGUSR2: 'SIGUSR2',
SIGVTALRM: 'SIGVTALRM',
SIGXCPU: 'SIGXCPU',
SIGXFSZ: 'SIGXFSZ',
}
for num in signals:
signal(num, h)
La respuesta creo que va a ser "no" y cierta señal ni siquiera puede quedar atrapada (SIGKILL). –