我正在尝试编写一个信号处理程序,它将从类变量中调用方法。
我的代码如下所示:
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 中定义处理异常并从信号处理程序调用这些函数的函数,但这也不起作用。
有人对如何实现这一点有想法吗?