Vrijgave van het GNU Shepherd 0.8 init-systeem

Beschikbaar service Manager GNU Herder 0.8 (voormalige dmd), dat wordt ontwikkeld door de ontwikkelaars van de GNU Guix System-distributie als een afhankelijkheidsbewust alternatief voor het SysV-init-initialisatiesysteem. De Shepherd-controledaemon en hulpprogramma's zijn geschreven in de Guile-taal (een van de implementaties van de Scheme-taal), die ook wordt gebruikt om instellingen en parameters voor het starten van services te definiëren. Shepherd wordt al gebruikt in de GuixSD GNU/Linux-distributie en is ook bedoeld voor gebruik in GNU/Hurd, maar kan draaien op elk POSIX-compatibel besturingssysteem waarvoor de Guile-taal beschikbaar is.

Shepherd kan zowel als hoofdinitialisatiesysteem (init met PID 1) als in een aparte vorm worden gebruikt om achtergrondprocessen van individuele gebruikers te beheren (bijvoorbeeld om tor, privoxy, mcron, etc. uit te voeren) met uitvoering met de rechten van deze gebruikers. Shepherd doet het werk bij het starten en stoppen van services door rekening te houden met de relaties tussen services, waarbij de services waarvan de geselecteerde service afhankelijk is, dynamisch worden geïdentificeerd en gestart. Shepherd ondersteunt ook het detecteren van conflicten tussen services en het voorkomen dat deze gelijktijdig worden uitgevoerd.

Belangrijkste innovaties:

  • Make-kill-destructor implementeert het doden van een groep processen;
  • Parameter toegevoegd “default-pid-file-timeout”, die de wachttijd bepaalt voor het maken van een PID-bestand;
  • Als het PID-bestand niet binnen de time-out verschijnt, wordt de gehele procesgroep beëindigd (beslist probleem werkprocessen achterlaten zonder PID-bestand);
  • De parameter “#:file-creation-mask” toegevoegd aan “make-forkexec-constructor”, het aanmaken van logbestanden geïmplementeerd en de ondersteuning van de oude aanroepconventie gestopt;
  • Problemen opgelost met compilatie op systemen zonder prctl, zoals GNU/Hurd;
  • Er is een probleem opgelost waarbij SIGALRM elke seconde werd verzonden.

Bron: opennet.ru

Voeg een reactie