menedżer serwisu (), rozwijany przez programistów dystrybucji GNU Guix System jako zależność wspierająca alternatywę dla systemu inicjalizacji SysV-init. Działający demon i narzędzia Shepherd napisane są w języku Guile (jedna z implementacji języka Scheme), który jest również wykorzystywany do definiowania ustawień i parametrów uruchamiania usług. Shepherd jest już używany w dystrybucji GuixSD GNU/Linux i ma na celu również współpracę z GNU/Hurd, ale może działać w każdej zgodnej z POSIX systemie operacyjnym, dla którego dostępny jest język Guile.
Shepherd może być używany jako główny system inicjalizacji (init z PID 1) lub w oddzielny sposób do zarządzania procesami w tle dla poszczególnych użytkowników (na przykład do uruchamiania tor, privoxy, mcron itp.) z uprawnieniami danych użytkowników. Shepherd realizuje uruchamianie i zatrzymywanie serwisów, biorąc pod uwagę wzajemne zależności między nimi, dynamicznie określając i uruchamiając usługi, od których zależy wybrany serwis. Shepherd wspiera również definiowanie konfliktów między serwisami i zapobiega ich jednoczesnemu uruchamianiu.
Główne nowości:
- Zrealizowano nowy handler błędów procesów, umożliwiający generowanie core dump'ów w GNU/Linux przy pracy pod PID 1;
- W menedżerze serwisów pojawiła się możliwość eksportowania zmiennych środowiskowych zdefiniowanych w ustawieniu „default-environment-variables”;
- W „make-forkexec-constructor” zaprzestano usuwania plików dziennika;
- Ponowne uruchamianie po naciśnięciu ctrl-alt-del jest teraz zabronione na etapie przed przetworzeniem pliku konfiguracyjnego;
- Kod obsługi wyjątków został dostosowany do .
Źródło: opennet.ru
