Do dyspozycji kierownik serwisu Pasterz GNU 0.8 (były dmd), który jest rozwijany przez twórców dystrybucji GNU Guix System jako świadoma zależności alternatywa dla systemu inicjującego SysV-init. Demon kontroli Shepherd i narzędzia są napisane w języku Guile (jedna z implementacji języka Scheme), który służy również do definiowania ustawień i parametrów uruchamiania usług. Shepherd jest już używany w dystrybucji GuixSD GNU/Linux i ma być również używany w GNU/Hurd, ale może działać na dowolnym systemie operacyjnym zgodnym z POSIX, dla którego dostępny jest język Guile.
Shepherd może być używany zarówno jako główny system inicjujący (init z PID 1), jak i w osobnej formie do zarządzania procesami w tle poszczególnych użytkowników (na przykład do uruchamiania Tora, privoxy, mcron itp.) z wykonaniem z uprawnieniami tych użytkowników. Shepherd wykonuje pracę polegającą na uruchamianiu i zatrzymywaniu usług, biorąc pod uwagę relacje między usługami, dynamicznie identyfikując i uruchamiając usługi, od których zależy wybrana usługa. Shepherd obsługuje także wykrywanie konfliktów pomiędzy usługami i zapobieganie ich jednoczesnemu działaniu.
Główne innowacje:
Make-kill-destructor implementuje zabijanie grupy procesów;
Dodano parametr „default-pid-file-timeout”, który określa czas oczekiwania na utworzenie pliku PID;
Jeśli plik PID nie pojawi się w określonym czasie, cała grupa procesów zostanie zakończona (decyduje problem pozostawienie procesów pracy bez pliku PID);
Dodano parametr „#:file-creation-mask” do „make-forkexec-constructor”, zaimplementowano tworzenie pliku dziennika i przestano wspierać starą konwencję wywoływania;
Rozwiązano problemy z kompilacją na systemach bez prctl, takich jak GNU/Hurd;
Naprawiono błąd powodujący wysyłanie sygnału SIGALRM co sekundę.