мениджър на услуги (), който се развива от разработчиците на дистрибуцията GNU Guix System като зависимост за поддръжка на алтернатива на системата за инициализация SysV-init. Управляващият демон и инструментите на Shepherd са написани на езика Guile (една от реализациите на Scheme), който също се използва за определяне на настройки и параметри за стартиране на услугите. Shepherd вече се използва в дистрибуцията GuixSD GNU/Linux и е насочен също така за употреба в GNU/Hurd, но може да работи в всяка ОС, съвместима с POSIX, за която е достъпен езикът Guile.
Shepherd може да се използва както като основна система за инициализация (init c PID 1), така и в отделен вид за управление на фонови процеси на отделни потребители (например, за стартиране на tor, privoxy, mcron и т.н.) с изпълнение с правата на съответните потребители. Shepherd изпълнява работата по стартиране и спиране на услуги, отчитайки взаимовръзките между тях и динамично определя и стартира услуги, от които зависи избраната услуга. Shepherd също така поддържа определяне на конфликти между услуги и предотвратява тяхното едновременно изпълнение.
Основни нововъведения:
- Имплементиран е нов обработчик за сбой на процеси, позволяващ генерирането на core-дъмпове в GNU/Linux при работа с PID 1;
- В сервизния мениджър се появи възможност за експортиране на променливи на околната среда, определени в настройката „default-environment-variables“;
- В „make-forkexec-constructor“ е прекратено изтриването на лог файлове;
- Перезареждането при натискане на ctrl-alt-del сега е забранено в етапа преди обработка на конфигурационния файл;
- Кодът за обработка на изключения е адаптиран за .
Източник: opennet.ru
