Я разрабатываю сценарии некоторых служб, которые необходимо запускать при загрузке на Raspbian (Jessie), и я решил использовать systemd. Я только начал читать несколько быстрых руководств по его использованию, но у меня проблемы с окружением.
Для выполняемых процессов требуются (в их коде) некоторые переменные среды, которые я установил в сценарии оболочки, но они не загружаются, несмотря на использование EnvironmentFile = / path / to / my / file ... У меня есть служба выполнение сценария Python3 и еще одного для приложения Node.js.
Со вчерашнего дня ищу альтернативные решения, но вроде ничего не работает ... Может я просто не понял, как работает systemd? Это должно быть возможно, поэтому я прошу вас ...
Вот мои файлы юнитов:
Для скрипта python:
[Unit]
Description=My awesome python script
After=multi-user.target
[Service]
ExecStart=/usr/local/bin/python3.6 /home/pi/Desktop/myawesomescript.py
Restart=Always
RestartSec=5
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mypython
User=pi
EnvironmentFile=/home/pi/.bash_vars
[Install]
WantedBy=multi-user.target
Приложение узла:
[Unit]
Description=My awesome Node.js socket.io app
Requires=After=mypython.service # Requires the python script to be running
[Service]
ExecStart=/usr/bin/node /home/pi/Desktop/myawesomenodeapp/src/index.js
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mynodeapp
User=pi
EnvironmentFile=/home/pi/.bash_vars
[Install]
WantedBy=multi-user.target
Спасибо, что нашли время, и извините за мой плохой английский!
PS: Пожалуйста, дайте мне знать, если вам нужна дополнительная информация