unit systemd на Debian.
В какой-то момент программа узнает, что ей надо обновиться.
Хочу сделать так:
Программа запускает с помощью exec скрипт, который скачивает новую версию, сохраняет ее с суффиксом -new, останавливает демон, заменяет исполняемый файл, запускает демон.
Не будет ли проблем, когда скрипт, запущенный из программы, еще не отработал, а программа, которая его запустила, останавливается?
И, если будут проблемы, то что сделать, чтобы их не было?
а что если программе нужно подождать, пока база отмигрирует?
Заранее писали так, что прервать можно в любой момент. Запускается на системе с нестабильным питанием, это учитывали в разработке.
Я обычно в мейкфайл прописываю sudo systemctl restart service.service
будет, если умрет родитель, то и дети помрут
Проверили наличие обновления Скачали новый файл в new Проверили checksum Переименовали старый бинарник в олд, new в бинарник Килл старый процесс. Новый автоматом рестартует если он прописан в systemd
А разве даст тронуть бинарник пока он запущен как демон?
git hooks
Обсуждают сегодня