SystemdDoctor
NotifyAccess= [Service]

NotifyAccess=: кто может отчитываться systemd о готовности

Определяет, уведомления от каких процессов службы systemd принимает: только от главного, от всех процессов службы или ни от каких.

Что делает

Значение по умолчанию — main: принимаются уведомления только от главного процесса. Если программа отчитывается из дочернего процесса (так делают некоторые обёртки и программы с рабочими процессами), уведомление будет отброшено, и запуск закончится таймаутом при формально работающей службе.

Диагностический признак: служба работает и отвечает, а systemd считает её запускающейся. В журнале при этом бывает строка о том, что уведомление отброшено.

Где ставится. В секции [Service], имеет смысл только при Type=notify или notify-reload.

Значения

ЗначениеЧто происходит
mainпо умолчанию: только от главного процесса.
execот процессов, запущенных командами Exec*=.
allот любых процессов контрольной группы службы.
noneуведомления не принимаются вовсе.

По умолчанию: main

Пример

Служба, отчитывающаяся из дочернего процесса.

[Service]
Type=notify
NotifyAccess=all
ExecStart=/usr/local/bin/wrapper --spawn /usr/local/bin/myapp

Значение all стоит ставить осознанно: любой процесс службы сможет сообщить о готовности, в том числе преждевременно.

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

Таймаут запуска при Type=notify часто вызван именно этим параметром, а не медленной программой.

Значение all менее строгое: преждевременное уведомление от дочернего процесса заставит systemd считать службу готовой раньше времени.

При Type=simple параметр не имеет эффекта, и его наличие только запутывает читателя unit-файла.

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

  • Failed with result 'timeout'Состояние timeout: служба не уложилась в отведённое время при запуске, остановке или перезагрузке настроек.
  • Failed with result 'protocol'Состояние protocol: служба нарушила договор со systemd. Обычно Type=notify без уведомления или Type=dbus без имени на шине.
  • Job for … failed because a timeout was exceededЗадание на запуск прервано по таймауту. Как отличить медленный старт от заблокированного и правильно настроить TimeoutStartSec.

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

Источники

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