我正在尝试编写一个信号处理程序,该信号处理程序将从类变量中调用方法。
我有看起来像这样的代码:
import daemon
class bar():
def func():
print "Hello World!\n"
def sigusr1_handler(signum,frame):
foo.func()
def main():
foo = bar()
context = daemon.DaemonContext(stdout=sys.stdout)
context.signal_map = {
signal.SIGUSR1: sigusr1_handler
}
with context:
if (__name__="__main__"):
main()
这是行不通的。当我在守护程序上执行kill -USR1时,Python引发NameError异常。我还尝试在main内部定义函数,这些函数将处理异常并从信号处理程序中调用这些函数,但这也不起作用。
有人对如何实现这一点有想法吗?
哔哔one
相关分类