Liberazione di u sistema init GNU Shepherd 0.8

Dispunibule gestore di serviziu GNU Shepherd 0.8 (ex dmd), chì hè sviluppatu da i sviluppatori di a distribuzione GNU Guix System cum'è una alternativa cunsciente à a dependenza à u sistema di inizializazione SysV-init. U daemon di cuntrollu Shepherd è l'utilità sò scritti in a lingua Guile (una di l'implementazioni di a lingua Scheme), chì hè ancu utilizata per definisce e paràmetri è i paràmetri per i servizii di lanciazione. Shepherd hè digià utilizatu in a distribuzione GuixSD GNU/Linux è hè ancu destinatu à l'usu in GNU/Hurd, ma pò eseguisce in qualsiasi OS compatibile cù POSIX per quale a lingua Guile hè dispunibule.

Shepherd pò esse usatu sia cum'è u sistema init principale (init cù PID 1), sia in una forma separata per gestisce i prucessi di fondo di l'utilizatori individuali (per esempiu, per eseguisce tor, privoxy, mcron, etc.) cù l'esekzione cù i diritti di sti utilizatori. Shepherd faci u travagliu di principià è piantà i servizii per piglià in contu a relazione trà i servizii, determinendu dinamicamente è principiendu i servizii da quale dipende u serviziu sceltu. Shepherd supporta ancu a rilevazione di cunflittu trà i servizii è impedisce à eseguisce simultaneamente.

Innuvazioni principali:

  • Make-kill-destructor implementa uccidendu un gruppu di prucessi;
  • Aggiuntu paràmetru "default-pid-file-timeout", chì determina u tempu d'attesa per creà un schedariu PID;
  • Se u schedariu PID ùn appare micca in u timeout, tuttu u gruppu di prucessu hè terminatu (decide prublema abbandunà i prucessi di travagliu senza un schedariu PID);
  • Aggiuntu u paràmetru "#:file-creation-mask" à "make-forkexec-constructor", implementatu a creazione di file di log è cessatu di sustene a vechja cunvenzione di chjama;
  • I prublemi risolti cù a compilazione in sistemi senza prctl, cum'è GNU/Hurd;
  • Fixed un prublema chì causava SIGALRM per esse mandatu ogni seconda.

Source: opennet.ru

Add a comment