service manager (), dat ontwikkeld wordt door de ontwikkelaars van de GNU Guix System distributie als een ondersteunende afhankelijkheid van het alternatif voor het SysV-init systeem. De beheerdemon en de utils van Shepherd zijn geschreven in Guile (een van de implementaties van de Scheme-taal), die ook wordt gebruikt voor het definiƫren van instellingen en opstartparameters voor diensten. Shepherd wordt al gebruikt in de GuixSD GNU/Linux distributie en is ook bedoeld voor gebruik in GNU/Hurd, maar kan werken op elke POSIX-compatibele OS waarvoor Guile beschikbaar is.
Shepherd kan zowel fungeren als het primaire init-systeem (init met PID 1) alsook in een afzonderlijke modus voor het beheren van achtergrondprocessen van individuele gebruikers (bijvoorbeeld voor het starten van tor, privoxy, mcron, enz.) met uitvoeringen met de rechten van deze gebruikers. Shepherd voert het starten en stoppen van services uit, rekening houdend met onderlinge afhankelijkheden tussen services, en bepaalt en start dynamisch services waarop de gekozen service afhankelijk is. Shepherd ondersteunt ook het definiƫren van conflicten tussen services en voorkomt hun gelijktijdige uitvoering.
Belangrijkste vernieuwingen:
- Er is een nieuwe procesfoutverwerker geĆÆmplementeerd die het mogelijk maakt om core-dumps te genereren in GNU/Linux wanneer deze draait onder PID 1;
- De servicemanager heeft nu de mogelijkheid om omgevingsvariabelen te exporteren die zijn gedefinieerd in de instelling 'default-environment-variables';
- In 'make-forkexec-constructor' is het verwijderen van logbestanden stopgezet;
- Herstarten bij het indrukken van ctrl-alt-del is nu verboden in de fase vóór de verwerking van het configuratiebestand;
- De exception handling code is aangepast voor .
Bron: opennet.ru
