https://www.opennet.ru/opennews/art.shtml?num=66245
Системный менеджер rcd вызывается init-процессом вместо /etc/rc, читает файлы конфигурации сервисов (/etc/rcd.d/*.ucl), строит дерево зависимостей и запускает сервисы по возможности параллельно друг с другом, после чего отслеживает работу сервисов и при необходимости их перезапускает.
Управление фоновым процессом и операции с сервисами может осуществляться через прямую передачу команд в UNIX-сокет или при помощи утилиты командной строки rctl. Unit-файлы с параметрами сервисов оформляются в формате UCL, который напоминает формат файлов конфигурации nginx и bind с элементами для упрощения автоматизированной обработки, заимствованными из JSON. Предоставляется возможность создания шаблонов типовых unit-файлов и написания встроенных обработчиков на языке Lua.
...
Системный менеджер полностью обратно совместим с существующей системой последовательного запуска сервисов rc.d и может работать без изменения имеющихся rc.d-скриптов и файлов конфигурации. Достаточно установить rcd на работающую систему и после перезапуска всё продолжит функционировать как раньше, за исключением сокращения времени загрузки за счёт распаралелливания запуска сервисов. Подобная совместимость упростит миграцию систем на rcd и даст возможность постепенно переводить в формат unit-файлов имеющиеся rc.d-скрипты.
rcd(8) - new service manager daemon
http://lists.freebsd.org/archives/freebsd-hackers/2026-June/006427.html
Вроде всё понятно, systemd также начинался 🌝
Вопрос у меня к этому возник
> Предоставляется возможность создания шаблонов типовых unit-файлов и написания встроенных обработчиков на языке Lua
Оно вот реально надо тащить Lua-интерпретатор в такие штуки? Что бы что делать-то?
Да, он достаточно компактный, но всё же
https://reviews.freebsd.org/D56835#change-gs4aNnidjop8