Service-Manager (), die von den Entwicklern der GNU Guix System-Distribution als unterstützende Abhängigkeit zum SysV-init System entwickelt wird. Der Steuerdaemon und die Utilities von Shepherd sind in Guile (eine der Implementierungen der Sprache Scheme) geschrieben, die auch verwendet wird, um die Einstellungen und Startparameter der Dienste zu definieren. Shepherd wird bereits in der GNU/Linux-Distribution GuixSD eingesetzt und soll auch in GNU/Hurd verwendet werden, kann jedoch in jeder POSIX-kompatiblen OS betrieben werden, für die die Programmiersprache Guile verfügbar ist.
Shepherd kann sowohl als primäres Initialisierungssystem (init mit PID 1) als auch in isolierter Form zur Verwaltung von Hintergrundprozessen einzelner Benutzer (zum Beispiel zum Starten von tor, privoxy, mcron usw.) mit den Rechten der jeweiligen Benutzer verwendet werden. Shepherd kümmert sich um das Starten und Stoppen von Services, indem es die Beziehungen zwischen den Services berücksichtigt, und bestimmt dynamisch die Services, die vom gewählten Service abhängen, und startet diese. Shepherd unterstützt auch die Definition von Konflikten zwischen Services und verhindert deren gleichzeitige Ausführung.
Hauptneuheiten:
- Ein neuer Fehlerbehandlungsmechanismus wurde implementiert, der es ermöglicht, unter PID 1 Core-Dumps in GNU/Linux zu erstellen;
- Der Dienstmanager hat jetzt die Möglichkeit erhalten, Umgebungsvariablen, die in der Einstellung «default-environment-variables» definiert sind, zu exportieren;
- In «make-forkexec-constructor» wurde das Löschen von Log-Dateien eingestellt;
- Ein Neustart mit Drücken von ctrl-alt-del ist jetzt in der Phase vor der Verarbeitung der Konfigurationsdatei verboten;
- Der Code zur Ausnahmebehandlung wurde angepasst für .
Quelle: opennet.ru
