Опубликован сервисный менеджер GNU Shepherd 0.9.2 (бывший dmd), который развивается разработчиками дистрибутива GNU Guix System в качестве альтернативы системе инициализации SysV-init, поддерживающей зависимости. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов. Shepherd уже применяется в дистрибутиве GuixSD GNU/Linux и нацелен также на использование в GNU/Hurd, но может работать в любой POSIX-совместимой ОС, для которой доступен язык Guile.
Shepherd kryen detyrën e nisjes dhe ndaljes së shërbimeve, duke marrë parasysh ndërveprimin midis shërbimeve, duke përcaktuar dhe nisur dinamikisht shërbimet nga të cilat varet shërbimi i zgjedhur. Shepherd gjithashtu mbështet përcaktimin e konflikteve midis shërbimeve dhe parandalon ekzekutimin e tyre të njëkohshëm. Projekti mund të përdoret si një sistem kryesor i inicializimit (init me PID 1), ashtu edhe në një formë të veçantë për menaxhimin e proceseve prapa skenave të përdoruesve të veçantë (për shembull, për të nisur tor, privoxy, mcron, etj.) me ekzekutimin e të drejtave të atyre përdoruesve.
Ndër ndryshimet:
- Используемые в Shepherd файловые дескрипторы теперь помечаются флагом O_CLOEXEC (close-on-exec), а не закрываются сразу при выполнении «exec-command», что позволяет передавать дескрипторы сервисам, запущенным не напрямую, а при помощи «exec-command».
- Клиентские соединения теперь обрабатываются в неблокирующем режиме, что позволяет исключить зависание shepherd при отправке неполной команды.
- Обеспечено создание каталога для лог-файлов, определённых в настройке «log-file», в случае его отсутствия.
Burimi: opennet.ru
