3
나는 갇혀있어 도움이 필요하다.Python-daemon 작동 원리
저는 python-daemon 패키지를 사용하여 프로그램을 대몬 화합니다. 문제는 데몬을 시작하고 중지하는 방법을 모른다는 것입니다. 내가
python myscript.py start
을 실행하면
은 새로운 프로세스가 생성됩니다. 그러나 내가 멈출 때 아무 일도 일어나지 않습니다.
# Setting logging configuration
logger = logging.getLogger("MyScript")
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler = logging.FileHandler("/tmp/myscript.log")
handler.setFormatter(formatter)
logger.addHandler(handler)
pid = daemon.pidlockfile.TimeoutPIDLockFile("/tmp/myscript.pid", 10)
context = daemon.DaemonContext(
#working_directory='/var/lib/foo',
umask=0o002,
pidfile=pid,
files_preserve=[handler.stream],
)
loop = True
def program_cleanup_test():
logger.info("Stopping loop")
loop = False
context.signal_map = {
signal.SIGTERM: program_cleanup_test,
signal.SIGHUP: 'terminate',
#signal.SIGUSR1: reload_program_config,
}
print "Running as a daemon"
with context:
while loop:
logger.info("0255")
time.sleep(5)
이것은 도움이 될 수 있습니다 : http://stackoverflow.com/questions/4705564/python-script-as-linux-service-daemon – joe
@ joe는 파이썬 데몬을 사용하지 않고 시스템 도구를 사용하여 데몬을 만듭니다. – jlanza