Готовность службы systemd: Type задаёт момент продолжения зависимого запуска
Фотография конкретного исполнения не приложена.
Для сервиса сбора данных важно различать создание процесса, успешный запуск исполняемого файла и завершение инициализации приложения. Это разные границы. Если потребитель стартует после службы, его зависимость будет оцениваться по принятому systemd протоколу запуска, а не по предполагаемой готовности базы или сетевого интерфейса приложения.
В редакции 262 Type=simple позволяет менеджеру продолжить работу сразу после создания процесса, ещё до успешного execve. Type=exec ждёт успешного выполнения исполняемого файла, но тоже не подтверждает завершение внутренней инициализации. Для Type=notify приложение должно отправить READY=1 через поддерживаемый протокол уведомления. Одной замены строки Type недостаточно: неподготовленная программа такого сообщения не пришлёт.
В проекте описывают конкретное условие готовности: открыто хранилище, загружена конфигурация, доступен интерфейс приёма. Уведомление связывают с этим условием. Учитывают и ExecStartPost, поскольку его выполнение входит в порядок запуска зависимых units.
Приёмочный сценарий должен замедлить инициализацию и отдельно вызвать её ошибку. Проверяют момент старта потребителя, результат задания запуска и журнал исходной службы. Положительный результат создания процесса не принимают за доказательство готовности прикладного обмена.
Основание — Official systemd manual edition262, cited sections only, разделы systemd.service Type; ExecStartPost. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Материал относится к справочникам systemd 262. Установленные Linux-дистрибутив, сборка systemd и возможности ядра не проверялись; изменения служб и настроек не выполнялись.