SystemdDoctor
TimeoutStopSec= [Service]

TimeoutStopSec=: сколько systemd ждёт остановки службы

Задаёт, сколько systemd ждёт завершения процессов после сигнала остановки. По истечении срока процессы добиваются сигналом KILL.

Что делает

Последовательность такая: systemd посылает сигнал из KillSignal= (по умолчанию TERM), ждёт TimeoutStopSec=, затем посылает KILL. Для служб, которые при завершении сохраняют данные — базы, очереди, кеши — важно, чтобы срок был не меньше времени, нужного на сохранение.

Обратная сторона: большой срок задерживает перезагрузку системы. Если служба не реагирует на сигнал, выключение будет ждать весь таймаут. Отсюда знакомая картина при перезагрузке: «A stop job is running for …» с обратным отсчётом.

Где ставится. В секции [Service]. Общее значение по умолчанию — DefaultTimeoutStopSec= в system.conf.

Значения

ЗначениеЧто происходит
90sобычное значение по умолчанию.
5minдля баз данных и очередей, которым нужно сохранить состояние.
infinityждать бесконечно: выключение системы при подвисшей службе не завершится.

По умолчанию: обычно 90s

Пример

Запас времени на корректное завершение базы.

[Service]
KillSignal=SIGINT
TimeoutStopSec=5min
# при остановке база успеет сбросить буферы на диск

Сигнал тут заменён нарочно: часть баз считает INT командой быстрого, но корректного завершения, а TERM — командой немедленного.

Типичные ошибки

Слишком малый срок приводит к добиванию службы сигналом KILL и потере несохранённых данных.

Слишком большой срок задерживает выключение и перезагрузку сервера.

Если программа игнорирует сигнал завершения, таймаут будет истекать каждый раз. Проверьте, какой сигнал она ждёт, и задайте KillSignal=.

Связанные ошибки

  • signal=KILL (status=9/KILL) в systemdПроцесс службы убит сигналом KILL. Кто мог его послать: OOM-killer, таймаут остановки systemd, администратор.
  • Failed with result 'timeout'Состояние timeout: служба не уложилась в отведённое время при запуске, остановке или перезагрузке настроек.
  • signal=TERM (status=15/TERM) в systemdПроцесс службы завершён сигналом TERM. Когда это нормальная остановка, а когда признак проблемы.

Рядом стоящие параметры

Где важен на практике

Источники

  • systemd.service(5) официальная документация
    сверено 15 сентября 2026
  • systemd.kill(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026