Назад | Перейти на главную страницу

Как KillSignal взаимодействует с TimeoutStopSec в systemd?

Может ли кто-нибудь сообщить мне следующее о последовательности завершения работы службы systemd

  1. Если я указал KillSignal=SIGTERM тогда как это взаимодействует с этим TimeoutStopSec ? Означает ли это, что при остановке службы сначала SIGTERM будет отправлено, и если служба все еще работает после TimeoutStopSec SIGKILL будет отправлено (если SendSIGKILL установлено на "да")? Я спрашиваю о случае, когда в ExecStop.

  2. Делает 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.