Может ли кто-нибудь сообщить мне следующее о последовательности завершения работы службы systemd
Если я указал KillSignal=SIGTERM
тогда как это взаимодействует с этим TimeoutStopSec
? Означает ли это, что при остановке службы сначала SIGTERM
будет отправлено, и если служба все еще работает после TimeoutStopSec
SIGKILL
будет отправлено (если SendSIGKILL
установлено на "да")? Я спрашиваю о случае, когда в ExecStop
.
Делает TimeoutStopSec
примите во внимание ExecStop
и все ExecPostStop
?
На этот вопрос был дан ответ в списке рассылки systemd. Публикация ответа здесь
Может ли кто-нибудь сообщить мне следующее о последовательности завершения работы службы systemd
1. If I have specified KillSignal=SIGTERM then how does this interact this TimeoutStopSec ? Does this mean that during shutdown of service, first SIGTERM will be sent and if the service is still running after TimeoutStopSec SIGKILL will be sent (if SendSIGKILL is set to yes? I am asking about the case where nothing is specified in ExecStop.
Да, это правильно
2. Does TimeoutStopSec take into account ExecStop and all ExecPostStop?
TimeoutStopSec предназначен для каждой команды. Если команда ExecStopPost завершается ошибкой (или истекает время ожидания), последующие команды не выполняются, но если для каждой команды требуется почти время TimeoutStopSec, общее время выполнения будет близко к времени выполнения команд ExecStopPost, умноженному на TimeoutStopSec.