Как устранить неполадки в сервисах Rapsberry Pi 3B - PullRequest
0 голосов
/ 07 января 2019

Я никогда раньше не делал сервисы в linux perse, но я пытался создать сервис, используя Pi.

Я использовал 2 разных подхода для создания сервиса. Первым подходом было использование systemctl с использованием в качестве основы кода, размещенного в конце https://ubuntuforums.org/showthread.php?t=2318279. В моем случае ExecStart выглядит следующим образом: ExecStart=/home/pi/berryconda2/bin/python /home/pi/Documents/MyCode.py Когда я запускаю эту службу, используя sudo systemctl start MyCode.service, она отображается как активная и работает до тех пор, пока я не выполню другую, которая живет на моем ПК, а не на Pi (они взаимодействуют друг с другом), тогда я получаю

  • (код = выход, статус = 2)
  • Устройство вошло в состояние отказа.
  • Не удалось с результатом 'код выхода'.

Если я запускаю MyCode.py, используя мой интерпретатор python по умолчанию, мой код работает, но я хочу, чтобы pi запустил загрузку с тех пор и продолжал запускать ее до тех пор, пока я не выключу ее.

Теперь для моего второго подхода я использую шаги, описанные здесь http://blog.scphillips.com/posts/2013/07/getting-a-python-script-to-run-in-the-background-as-a-service-on-boot/. В конце, когда я запускаю свой .sh, я получаю

  • активный (выход)
  • (код = вышел, состояние = 0 / SUCCESS).

Как описано в следующей ссылке, я запускаю start-stop-daemon --start --pidfile /var/run/MyCode_service.pid --make-pidfile --user root --startas /home/pi/Documents/MyCode.py -- --log /var/log/MyCode_service.log, и это работает. Я не уверен, как правильно отлаживать эти сервисы. Я посмотрел на https://freedesktop.org/software/systemd/man/systemd.exec.html#id-1.20.8 и http://manpages.ubuntu.com/manpages/cosmic/en/man8/start-stop-daemon.8.html. Но я пока не понял этого. Может ли кто-нибудь указать мне правильное направление или узнать какие-либо другие строительные блоки для оказания услуги? или хотя бы проблемы пристрелить?

...