Sortie du système d'initialisation GNU Shepherd 0.8

Disponible gestionnaire de services GNU Berger 0.8 (ex-DMD), qui est développé par les développeurs de la distribution GNU Guix System comme alternative au système d'initialisation SysV-init prenant en compte les dépendances. Le démon de contrôle Shepherd et les utilitaires sont écrits dans le langage Guile (une des implémentations du langage Scheme), qui est également utilisé pour définir les paramètres de lancement des services. Shepherd est déjà utilisé dans la distribution GuixSD GNU/Linux et est également destiné à être utilisé dans GNU/Hurd, mais peut fonctionner sur n'importe quel système d'exploitation compatible POSIX pour lequel le langage Guile est disponible.

Shepherd peut être utilisé à la fois comme système d'initialisation principal (init avec PID 1) et sous une forme distincte pour gérer les processus en arrière-plan d'utilisateurs individuels (par exemple, pour exécuter tor, privoxy, mcron, etc.) avec exécution avec les droits de ces utilisateurs. Shepherd effectue le travail de démarrage et d'arrêt des services en prenant en compte les relations entre les services, en identifiant et en démarrant dynamiquement les services dont dépend le service sélectionné. Shepherd prend également en charge la détection des conflits entre les services et les empêche de s'exécuter simultanément.

Principales nouveautés :

  • Make-kill-destructor implémente la suppression d'un groupe de processus ;
  • Ajout du paramètre « default-pid-file-timeout », qui détermine le temps d'attente pour la création d'un fichier PID ;
  • Si le fichier PID n'apparaît pas dans le délai imparti, l'ensemble du groupe de processus est terminé (décide problème quitter les processus de travail sans fichier PID);
  • Ajout du paramètre « #:file-creation-mask » à « make-forkexec-constructor », implémentation de la création de fichiers journaux et arrêt de la prise en charge de l'ancienne convention d'appel ;
  • Résolution de problèmes de compilation sur des systèmes sans prctl, tels que GNU/Hurd ;
  • Correction d'un problème qui entraînait l'envoi de SIGALRM toutes les secondes.

Source: opennet.ru

Ajouter un commentaire