Опубликован сервисный менеджер GNU Shepherd 0.9.2 (бывший dmd), который развивается разработчиками дистрибутива GNU Guix System в качестве альтернативы системе инициализации SysV-init, поддерживающей зависимости. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов. Shepherd уже применяется в дистрибутиве GuixSD GNU/Linux и нацелен также на использование в GNU/Hurd, но может работать в любой POSIX-совместимой ОС, для которой доступен язык Guile.
Shepherd-ը կատարում է ծառայություններ սկսելու և դադարեցնելու աշխատանքը՝ հաշվի առնելով ծառայությունների միջև փոխհարաբերությունները, դինամիկ կերպով բացահայտելով և սկսելով ծառայությունները, որոնցից կախված է ընտրված ծառայությունը: Shepherd-ը նաև աջակցում է ծառայությունների միջև կոնֆլիկտների հայտնաբերմանը և դրանց միաժամանակ գործարկման կանխմանը: Նախագիծը կարող է օգտագործվել և՛ որպես հիմնական սկզբնավորման համակարգ (init՝ PID 1-ով), և՛ առանձին ձևով՝ առանձին օգտատերերի ֆոնային գործընթացները կառավարելու համար (օրինակ՝ գործարկել tor, privoxy, mcron և այլն)՝ իրավունքներով կատարվող այս օգտվողներից:
Փոփոխությունների թվում.
- Используемые в Shepherd файловые дескрипторы теперь помечаются флагом O_CLOEXEC (close-on-exec), а не закрываются сразу при выполнении «exec-command», что позволяет передавать дескрипторы сервисам, запущенным не напрямую, а при помощи «exec-command».
- Клиентские соединения теперь обрабатываются в неблокирующем режиме, что позволяет исключить зависание shepherd при отправке неполной команды.
- Обеспечено создание каталога для лог-файлов, определённых в настройке «log-file», в случае его отсутствия.
Source: opennet.ru