Systemd service | Как обновлять файл демона, без необходимости останавливать процесс? К примеру, есть вот такой service файл:[Unit]
Description=App name
After=syslog.target
[Service]
WorkingDirectory=/home/user/app
ExecStart=/home/user/app/app
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=app-name
User=user
Group=user
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
Исполняемый файл: /home/user/app/app
Сейчас система не разрешит перезаписать файл, пока процесс запущен.
Нужно делать systemctl stop, systemctl start.
Возможно сделать конфигурацию, которая позволит заменять исполняемый файл и потом делать systemctl restart?

21 Авг 2019 в 06:53
152 +1
0
Ответы
1

Да, можно настроить возможность обновления файла демона без остановки процесса. Для этого можно использовать параметр systemd ExecReload, который позволяет перезапустить сервис для применения изменений в конфигурации или конфигурационных файлах.

Для вашего случая, можно добавить параметр ExecReload в секцию [Service] вашего systemd service файла, например:

[Service]
WorkingDirectory=/home/user/app
ExecStart=/home/user/app/app
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=app-name
User=user
Group=user
LimitNOFILE=infinity

Когда вы захотите обновить файл исполняемого демона, просто замените файл /home/user/app/app новой версией и выполните команду systemctl reload [название вашего сервиса], это приведет к перезапуску демона с новым исполняемым файлом.

Обратите внимание, что не все приложения поддерживают перезапуск через сигнал HUP, поэтому вам может потребоваться использовать другой метод обновления, например, создавать скрипт, который останавливает процесс, заменяет файл и запускает процесс заново.

20 Апр в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 503 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир