После запуска системы мой скрипт начинается с crontab в качестве демона. Он работает некоторое время и приостанавливает/зависает без ответа. После этого я не могу запустить его как sudo python script.py restart
, потому что он говорит: File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 149, in _stop "PID file %(pidfile_path)r not locked" % vars()) daemon.runner.DaemonRunnerStopFailureError: PID file '/home/pi/testdaemon.pid' not locked
Ошибка блокировки PID от Daemon
В инициализации из сценария есть:
def __init__(self):
self.stdin_path = '/dev/null'
self.stdout_path = '/dev/null'
self.stderr_path = '/dev/null'
self.pidfile_path = '/home/pi/testdaemon.pid'
self.pidfile_timeout = 5
Любая идея решения этой проблемы было бы здорово!
EDIT:
кажется, что я нашел мою проблему. Я не мог перезапустить демон, когда он остановился, потому что весь механизм хотел остановить мой демон на первом месте, и он не мог, потому что он был уже остановлен. Затем я узнал, что внутри моего скрипта возникла проблема, которая запустила всего несколько секунд и сработала. В любом случае, спасибо за ответы!
Вы можете взглянуть на [pandaemonium] (https://pypi.python.org/pypi/pandaemonium) для части демона - у него довольно хорошая поддержка отладки. Полное раскрытие: я автор 'pandaemonium'. –