Rilascio del sistema init GNU Shepherd 0.8

A disposizione responsabile del servizio GNU Pastore 0.8 (ex dm), sviluppato dagli sviluppatori della distribuzione GNU Guix System come alternativa sensibile alle dipendenze al sistema di inizializzazione SysV-init. Il demone di controllo Shepherd e le utilità sono scritti nel linguaggio Guile (una delle implementazioni del linguaggio Scheme), che viene utilizzato anche per definire impostazioni e parametri per l'avvio dei servizi. Shepherd è già utilizzato nella distribuzione GuixSD GNU/Linux ed è pensato anche per l'uso in GNU/Hurd, ma può essere eseguito su qualsiasi sistema operativo compatibile con POSIX per il quale è disponibile il linguaggio Guile.

Shepherd può essere utilizzato sia come sistema di inizializzazione principale (init con PID 1), sia in forma separata per gestire i processi in background dei singoli utenti (ad esempio, per eseguire tor, privoxy, mcron, ecc.) con esecuzione con i diritti di questi utenti. Shepherd svolge il lavoro di avvio e arresto dei servizi tenendo conto delle relazioni tra i servizi, identificando e avviando dinamicamente i servizi da cui dipende il servizio selezionato. Shepherd supporta inoltre il rilevamento dei conflitti tra i servizi e la prevenzione dell'esecuzione simultanea.

Principali innovazioni:

  • Make-kill-destructor implementa l'uccisione di un gruppo di processi;
  • Aggiunto parametro “default-pid-file-timeout”, che determina il tempo di attesa per la creazione di un file PID;
  • Se il file PID non viene visualizzato entro il timeout, l'intero gruppo di processi viene terminato (decide il problema lasciare i processi di lavoro senza file PID);
  • Aggiunto il parametro "#:file-creation-mask" a "make-forkexec-constructor", implementata la creazione del file di registro e smesso di supportare la vecchia convenzione di chiamata;
  • Risolti problemi con la compilazione su sistemi senza prctl, come GNU/Hurd;
  • Risolto un problema che causava l'invio di SIGALRM ogni secondo.

Fonte: opennet.ru

Aggiungi un commento