Vydání iniciačního systému GNU Shepherd 0.8

Dostupný manažer služby GNU Shepherd 0.8 (ex dmd), který je vyvíjen vývojáři distribuce GNU Guix System jako alternativa s ohledem na závislost k inicializačnímu systému SysV-init. Ovládací démon Shepherd a obslužné programy jsou napsány v jazyce Guile (jedna z implementací jazyka Scheme), který se také používá k definování nastavení a parametrů pro spouštění služeb. Shepherd se již používá v distribuci GuixSD GNU/Linux a je také zaměřen na použití v GNU/Hurd, ale může běžet na jakémkoli OS kompatibilním s POSIX, pro který je k dispozici jazyk Guile.

Shepherd lze použít jak jako hlavní inicializační systém (init s PID 1), tak v samostatné podobě pro správu procesů jednotlivých uživatelů na pozadí (například pro spouštění tor, privoxy, mcron atd.) s prováděním s právy tito uživatelé. Shepherd provádí práci při spouštění a zastavování služeb tím, že bere v úvahu vztahy mezi službami, dynamicky identifikuje a spouští služby, na kterých vybraná služba závisí. Shepherd také podporuje detekci konfliktů mezi službami a zabránění jejich souběžnému spuštění.

Hlavní inovace:

  • Make-kill-destructor implementuje zabíjení skupiny procesů;
  • Přidán parametr „default-pid-file-timeout“, který určuje dobu čekání na vytvoření souboru PID;
  • Pokud se soubor PID během časového limitu neobjeví, celá procesní skupina se ukončí (rozhoduje problém opuštění pracovních procesů bez souboru PID);
  • Přidán parametr „#:file-creation-mask“ do „make-forkexec-constructor“, implementováno vytváření souboru protokolu a přestala se podporovat stará konvence volání;
  • Vyřešené problémy s kompilací na systémech bez prctl, jako je GNU/Hurd;
  • Opraven problém, který způsoboval odesílání SIGALRM každou sekundu.

Zdroj: opennet.ru

Přidat komentář