내가 사용하는 저녁 식사 클래스 http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/입니다, 내 코드는 다음과 같습니다 : 나는 DebugDaemon.py을 실행하면왜 데몬의 출력은/tmp 디렉토리로 바로 이동할 수 있습니까?
import os
import sys, time
from daemon import Daemon
class MyDaemon(Daemon):
def run(self):
while True:
cmd='cat test.txt > output.txt'
os.system(cmd)
time.sleep(6000)
if __name__ == "__main__":
daemon = MyDaemon('/tmp/DebugDaemon.pid')
daemon.start()
는 /tmp/DebugDaemon.pid 만들 수 있습니다.
그러나 ouput.txt 파일을 만들 수없는 이유는 무엇입니까?
직접 호출하면 (즉, 데몬 코드를 사용하지 않음) 잘 작동합니다.
실제로 아무 것도 실행하지 않습니다. cmd라는 변수를 설정 한 다음 자고있는 것뿐입니다. – obmarg
cmd는 지역 변수이므로, 어떤 일을하기 위해 어떤 함수를 호출해야하고 cmd를 self.cmd로 설정하여 클래스가 cmd를 알 수 있도록해야합니다. –
'MyDaemon' 생성자에 대한 호출이 작동합니까? 또는 생성자 코드를 생략 했습니까? – Taymon