Python-捕获所有信号

在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))

以上是 Python-捕获所有信号 的全部内容, 来源链接: utcz.com/qa/400759.html

回到顶部