služební správce (), který se vyvíjí vývojáři distribuce GNU Guix System jako podpůrná závislost alternativní k systému inicializace SysV-init. Řídicí démon a nástroje Shepherd jsou napsány v jazyce Guile (jedna z implementací jazyka Scheme), který se také používá k určení nastavení a parametrů spuštění služeb. Shepherd už se uplatňuje v distribuci GuixSD GNU/Linux a je také zaměřen na použití v GNU/Hurd, ale může pracovat v jakémkoli systému kompatibilním s POSIX, pro který je k dispozici jazyk Guile.
Shepherd může fungovat jako hlavní systém inicializace (init s PID 1) nebo samostatně pro správu pozadí procesů jednotlivých uživatelů (například pro spuštění tor, privoxy, mcron atd.) s prováděním s právy těchto uživatelů. Shepherd zajišťuje spouštění a zastavování služeb, přičemž bere v úvahu vzájemné vazby mezi službami, dynamicky určuje a spouští služby, od kterých závisí vybraná služba. Shepherd také podporuje stanovení konfliktů mezi službami a zabraňuje jejich současnému provádění.
Hlavní novinky:
- V make-kill-destructor je realizováno zabíjení skupiny procesů;
- Přidán parametr „default-pid-file-timeout“, který určuje dobu čekání na vytvoření PID souboru;
- Pokud PID soubor nebyl vytvořen během časového limitu, je zajištěno ukončení celé skupiny procesů (řeší s ponecháním pracovní procesy bez PID souboru);
- V „make-forkexec-constructor“ je přidán parametr „#:file-creation-mask“, realizováno vytváření log souborů a přestává být podporována stará konvence volání;
- Vyřešeny problémy s kompilací na systémech bez prctl, jako je GNU/Hurd;
- Opraveno nedostatky, které vedly k odesílání SIGALRM každou sekundu.
Zdroj: opennet.ru
