menedžer usluga (), koji se razvija od strane programera distribucije GNU Guix System kao podržavajuća zavisnost alternativi sistemu inicializacije SysV-init. Upravljač i alati Shepherd napisani su na jeziku Guile (jedna od implementacija jezika Scheme), koji se takođe koristi za definisanje podešavanja i parametara pokretanja usluga. Shepherd se već koristi u distribuciji GuixSD GNU/Linux i takođe je usmeren na korišćenje u GNU/Hurd, ali može raditi u bilo kom POSIX-kompatibilnom OS-u za koji je dostupan jezik Guile.
Shepherd se može koristiti kako u ulozi glavnog sistema inicializacije (init sa PID 1), tako i kao odvojeni alat za upravljanje pozadinskim procesima pojedinih korisnika (na primer, za pokretanje tor, privoxy, mcron itd.) sa izvršavanjem pod pravima tih korisnika. Shepherd obavlja rad na pokretanju i zaustavljanju usluga, uzimajući u obzir međuzavisnost između usluga, dinamički definišući i pokrećući usluge od kojih zavisi izabrana usluga. Shepherd takođe podržava definisanje sukoba između usluga i sprečava njihovo simultano izvršavanje.
Glavne novosti:
- V make-kill-destructor je implementirano ubijanje grupe procesa;
- Dodana je opcija «default-pid-file-timeout», koja definiše vreme čekanja za kreiranje PID fajla;
- Ako PID fajl nije nastao unutar vremenskog okvira, obezbeđeno je završavanje cele grupe procesa (rešava ostavljanje radnih procesa bez PID fajla);
- U «make-forkexec-constructor» dodat je parametar «#:file-creation-mask», implementirano je kreiranje log fajlova i ukinuta je podrška za staru konvenciju poziva;
- Rešeni su problemi sa kompajliranjem na sistemima bez prctl, kao što je GNU/Hurd;
- Ispravljen je kvar koji je uzrokovao slanje SIGALRM svake sekunde.
Izvor: opennet.ru
