manager de serviciu (), care este dezvoltat de dezvoltatorii distribuției GuixSD GNU/Linux ca o dependență de susținere alternativă la sistemul de inițializare SysV-init. Demonul de gestionare și utilitarele Shepherd sunt scrise în limbajul Guile (una dintre implementările limbajului Scheme), care este utilizat și pentru a defini setările și parametrii de pornire ai serviciilor. Shepherd este deja utilizat în distribuția GuixSD GNU/Linux și are ca scop de asemenea utilizarea în GNU/Hurd, dar poate funcționa pe orice sistem de operare compatibil POSIX, pentru care limbajul Guile este disponibil.
Shepherd poate fi folosit atât ca sistem de inițializare principal (init cu PID 1), cât și în mod separat pentru gestionarea proceselor de fundal ale utilizatorilor individuali (de exemplu, pentru a porni tor, privoxy, mcron etc.) cu executarea cu drepturile acestor utilizatori. Shepherd se ocupă de pornirea și oprirea serviciilor, având în vedere interdependențele dintre servicii, determinând și lansând dinamic serviciile de care depinde serviciul selectat. Shepherd suportă de asemenea definirea conflictelor între servicii și previne execuția simultană a acestora.
Noutăți principale:
- Modul de operare a serviciilor a fost adăugat ,
, în care serviciul este marcat ca oprit imediat după ce a fost pornit cu succes, ceea ce poate fi necesar pentru a rula lucrări unice înainte de alte servicii, de exemplu, pentru a efectua curățări sau inițializări; - A fost asigurată eliminarea fișierelor cu socket-uri după finalizarea execuției
shepherd; - Comanda „herd stop” acum nu returnează o eroare atunci când este executată asupra unui serviciu deja oprit;
- Utilitarul herd acum returnează un cod de returnare diferit de zero în caz de eșec la pornirea unei sarcini;
- În cazul în care este pornit într-un container, a fost asigurată ignorarea erorilor legate de încărcare.
Sursa: opennet.ro
