在Linux下的python 2.6中,我可以使用以下命令来处理TERM信号:
import signal def handleSigTERM(): shutdown() signal.signal(signal.SIGTERM, handleSigTERM)
除了仅一次设置一个信号,是否可以为该过程接收的所有信号设置处理程序?
您可以循环浏览信号模块中的信号并进行设置。
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))