클래스 변수에서 메서드를 호출하는 신호 처리기를 작성하려고합니다. 이 작동하지 않는어떻게 파이썬 데몬의 신호 처리기에서 클래스 메서드를 호출합니까?
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 내부 함수를 정의하는 시도했다 그러나 그 중 하나를 작동하지 않았다.
아무도 구현 방법에 대한 아이디어가 있습니까?