Разработка системы с элегантным завершением работы может оказаться той ещё пляской с бубном. В идеальном мире каждый сервис управлялся бы юнитом systemd
. ExecStart
запускала бы процесс, обрабатывающий SIGTERM
, а ExecStop
оповещало бы процесс и осуществляло блокировку, которая бы корректно завершала процесс и его ресурсы.
Однако многие программы завершаются некорректно, а то и вовсе сбивают все настройки при закрытии. В этой статье мы рассмотрим поведение systemd
при завершении работы и методы написания юнитов systemd
для выборочной очистки (custom cleanup) перед закрытием. Подробности — к старту нашего курса по DevOps.