Hello, > I am not asking about the signals, I understand them, > I am asking about the registration of the SIGNAL handler and how it knows > that you are trying to register SIGKILL, you get an error like this. > > ./signal-catcher.py > Traceback (most recent call last): > File "./signal-catcher.py", line 22, in <module> > signal.signal(signal.SIGKILL, signal_handler_kill) > RuntimeError: (22, 'Invalid argument')
>>> import errno >>> errno.errorcode[22] 'EINVAL' EINVAL is the error returned by the standard POSIX signal() function when trying to register a handler for SIGKILL. As the signal() man page says: [...] The signals SIGKILL and SIGSTOP cannot be caught or ignored. [...] ERRORS EINVAL signum is invalid. So, in short, Python doesn't check SIGKILL by itself. It's just forbidden by the underlying C standard library, and Python propagates the error as a RuntimeError. Regards Antoine. -- http://mail.python.org/mailman/listinfo/python-list