servisný manažér (), ktorý vyvíjajú vývojári distribúcie GuixSD GNU/Linux ako podporujúcu závislosť alternatívy k systému inicializácie SysV-init. Riadiaci démon a nástroje Shepherd sú naprogramované v jazyku Guile (jedna z implementácií jazyka Scheme), ktorý sa využíva aj na definovanie nastavení a parametrov spúšťania služieb. Shepherd sa už používa v distribúcii GuixSD GNU/Linux a je zameraný aj na použitie v GNU/Hurd, ale môže fungovať na akejkoľvek operačnej sústave kompatibilnej s POSIX, pre ktorú je dostupný jazyk Guile.
Shepherd môže slúžiť ako hlavný systém inicializácie (init s PID 1), tak aj oddelene na riadenie pozadových procesov jednotlivých používateľov (napríklad na spustenie tor, privoxy, mcron a podobne) s vykonávaním pod právami týchto používateľov. Shepherd vykonáva prácu pri spúšťaní a zastavovaní služieb, berúc do úvahy vzťahy medzi službami, dynamicky určuje a spúšťa služby, od ktorých závisí vybraná služba. Shepherd taktiež podporuje určenie konfliktov medzi službami a zabraňuje ich súbežnému vykonávaniu.
Hlavné novinky:
- Pridaný režim práce služieb ,
, pri ktorom je služba hneď po úspešnom spustení označená ako zastavená, čo môže byť potrebné pre spustenie jednorazových úloh pred inými službami, napríklad na vykonanie údržby alebo inicializácie; - Zabezpečené odstránenie súborov so socketmi po ukončení práce
shepherd; - Príkaz „herd stop“ teraz nevydáva chybu pri vykonávaní nad už zastavenou službou;
- Nástroj herd teraz vracia nenulový kód návratu v prípade zlyhania spustenia úlohy;
- Pri spustení v kontajneri je zabezpečené ignorovanie chýb súvisiacich s načítaním.
Zdroj: opennet.ru
