【发布时间】:2018-10-03 07:47:10
【问题描述】:
使用下面的程序得到未定义的错误
class SignalHandler(object): # pylint: disable=too-few-public-methods
"""
Handles various user generated signals
"""
def __init__(self,
sigint_signalhandler=SignalHandler.signal_handler,
sigquit_signalhandler=SignalHandler.signal_handler,
sighup_signalhandler=SignalHandler.signal_handler):
signal.signal(signal.SIGINT, sigint_signalhandler)
signal.signal(signal.SIGQUIT, sigquit_signalhandler)
signal.signal(signal.SIGHUP, sighup_signalhandler)
@staticmethod
def signal_handler(signalnum):
print ('Ignoring signal : ', signalnum)
这就是错误的样子
import signalhandler
File "/usr/local/sandvine/scripts/upgrade-assistance/signalhandler.py", line 10, in <module>
class SignalHandler(object): # pylint: disable=too-few-public-methods
File "/usr/local/sandvine/scripts/upgrade-assistance/signalhandler.py", line 22, in SignalHandler
sigint_signalhandler=SignalHandler.signal_handler,
NameError: name 'SignalHandler' is not defined
所以最终我想传递一些自定义方法,如果没有,我将使用 SignalHandler 类提供的 signal_handler 方法。
【问题讨论】:
标签: python