SystemdDoctor
RestartPreventExitStatus= [Service]

RestartPreventExitStatus=: когда перезапуск бесполезен

Перечисляет коды выхода и сигналы, при которых перезапуск не выполняется, даже если он включён параметром Restart=.

Что делает

Смысл в том, чтобы не крутить службу вхолостую. Если программа вернула код «неверная конфигурация», перезапуск ничего не исправит: она упадёт так же. Лучше остаться в состоянии failed и попасть в список сбоев, чем упираться в предел частоты запусков.

Где ставится. В секции [Service], вместе с Restart=.

Значения

ЗначениеЧто происходит
78код ошибки настройки из набора sysexits.
2 78 SIGABRTнесколько кодов и сигнал через пробел.

Пример

Служба не перезапускается при ошибке настроек.

[Service]
Restart=on-failure
RestartSec=10s
RestartPreventExitStatus=78 2

Коды выбраны по соглашению программы. Если она их не использует, параметр бесполезен — сначала проверьте, чем она отвечает на ошибку настроек.

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

Если программа возвращает единицу на всё подряд, параметр не поможет: различать случаи нечем.

Служба останется в состоянии failed — за этим нужен мониторинг, иначе сбой останется незамеченным.

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

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

Источники

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