serviceleder (), som utvikles av utviklerne av GNU Guix System-distribusjonen som en støttende avhengighet for et alternativ til initialiseringssystemet SysV-init. Kontrolldaemonen og verktøyene til Shepherd er skrevet i Guile (en implementering av Scheme-språket), som også brukes til å definere tjenesteinnstillinger og oppstartsparametere. Shepherd brukes allerede i GuixSD GNU-distribusjonen.Linux og er også rettet mot bruk på GNU/Hurd, men kan kjøres på alle POSIX-kompatible operativsystemer som Guile-språket er tilgjengelig for.
Shepherd kan brukes både som hovedinitialiseringssystem (init med PID 1), og i en egen form for å administrere bakgrunnsprosesser til individuelle brukere (for eksempel for å kjøre tor, privoxy, mcron, etc.) med utførelse med rettighetene til disse brukerne. Shepherd gjør arbeidet med å starte og stoppe tjenester ved å ta hensyn til relasjonene mellom tjenester, dynamisk identifisere og starte tjenestene som den valgte tjenesten er avhengig av. Shepherd støtter også å oppdage konflikter mellom tjenester og hindre dem i å kjøre samtidig.
Hovedinnovasjoner:
- En ny prosesskrasjhåndterer er implementert som tillater generering av kjernedumper i GNU/Linux;
- Tjenestelederen har nå muligheten til å eksportere miljøvariabler definert i "default-environment-variables"-innstillingen;
- "make-forkexec-constructor" sluttet å slette loggfiler;
- Å starte på nytt når du trykker ctrl-alt-del er nå forbudt på stadiet før behandling av konfigurasjonsfilen;
- Unntakshåndteringskode tilpasset .
Kilde: opennet.ru
