AstraRegul
Релиз 2025.08.15.00
×

3.14.2. РЕД ОС

 
Для настройки автоматического перезапуска необходимо выполнить следующие действия:
Перечисленные ниже пункты следует выполнять под пользователем, для которого необходима настройка автоматического перезапуска проекта HMI.
 
  • Определите переменную окружения параметра DISPLAY, выполнив команду:
echo $DISPLAY
 
2. Файл службы перезапуска должен находится в специальном каталоге "~/.config/systemd/user". Если данный каталог отсутствует, его необходимо создать командой:
mkdir -p ~/.config/systemd/user/
 
3. В созданной каталоге необходимо создать файл с произвольным именем, например "restart_hmi_project.service". Для этого выполните команду:
nano ~/.config/systemd/user/restart_hmi_project.service
 
4. В созданный файл необходимо добавить следующее содержимое:
[Unit]
Description=<указать комментарий>
StartLimitIntervalSec=100
StartLimitBurst=10
[Service]
Environment="DISPLAY=<указать значение>"
ExecStart="/usr/local/bin/astra.hmi.viewer" "<путь до проекта hmi>"
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
 
Где:
Description - описание предназначения службы.
StartLimitIntervalSec - ограничивает время попыток перезапуска сервиса.
StartLimitBurst - максимальное количество попыток перезапуска.
Environment - настройка переменных окружения при запуске этого сервиса.
ExecStart - настраиваем полный путь и аргументы команды, которая должна быть выполнена для запуска процесса. В данном случае значением будет команда для запуска проекта из терминала.
RestartSec - указывает время ожидания перед попыткой перезапуска службы, если включен автоматический перезапуск службы.
Restart - указывает на обстоятельства, при которых systemd будет пытаться автоматически перезапустить службу. Опция может принимать значения:
always- перезапускать всегда, когда сервис был остановлен;
on-success - только если процесс сервиса завершился без ошибок;
on-failure - только если произошла ошибка;
 
 
5. Обновите конфигурацию юнитов, выполнив команду:
systemctl --user daemon-reload
 
6. Запустите службу, выполнив команду:
systemctl --user start restart_hmi_project.service
7. Если необходимо, чтобы служба автоматически запускалась при старте сессии, выполните команду:
systemctl --user enable restart_hmi_project.service
 
 
8. Для диагностики ошибок во время создания и запуска файла службы можно использовать команду:
systemctl --user status restart_hmi_project.service