@nexcode

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?
  • Вопрос задан
  • 673 просмотра
Решения вопроса 1
@mithraen
В Linux, если в файл нельзя писать, его обычно можно переименовать и даже удалить. А уже на его место записать что угодно.

Запишите свое обновленное приложение под именем /home/user/app/app.new и выполните команды:

mv /home/user/app/app /home/user/app/app.old
mv /home/user/app/app.new /home/user/app/app
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы