„srvsrv“ (HELIOS Service Controller) dient dazu, sämtliche HELIOS Serverprozesse, wie „afpsrv“, „pcshare“, „lpd“ usw. zu starten, zu stoppen und zu überwachen (die umseitige Abbildung zeigt die drei Stufen der Zuverlässigkeit, die bei HELIOS Diensten zur Anwendung kommt).
Dadurch wird verhindert, dass ein fehlgeschlagener Prozess für einen einzelnen Client sämtliche Clients im Netzwerk blockiert. Durch einen separaten Prozess pro Client ist jeder Benutzer effektiv von den anderen Benutzern isoliert. Je mehr Benutzer im Netzwerk sind, desto wichtiger ist diese Funktionalität.
HELIOS Service Controller überwacht sämtliche Prozesse, die auf dem Server gestartet worden sind. Im Falle eines fehlgeschlagenen Prozesses startet HELIOS Service Controller diesen Prozess nach einer kurzen Zeit erneut.
Automatischer Neustart von Diensten 10 Sekunden nach dem Fehler
Automatische Abschaltung des Dienstes nach 10 Fehlern (jeder innerhalb einer Minute)
Automatische Startreihenfolge der Dienste, z. B:
zuerst afpsrv
danach opisrv
…
Automatische Stoppreihenfolge
Vollständige Fehlerprotokolle in den Systemmeldungen
Integration von Drittanbieter-Diensten in den HELIOS Service Controller (über Präferenzen; siehe auch Abschnitt 14.2 „Integration von zusätzlichen Diensten“)
„srvutil“ ist ein Server-Dienstprogramm, mit dem sich einzelne HELIOS Dienste beeinflussen lassen, z. B. starten, anhalten, rekonfigurieren oder einfach den Status überwachen. Tatsächlich leitet das Programm die Befehle an den Dämon „srvsrv“ weiter. Dieser wird oben beschrieben.
Folgende Optionen stehen zur Verfügung, wobei [-f]
für forced
und [-r]
für recursive steht:
srvutil start all (root only) srvutil start [-r] [-f] service... (root only) srvutil stop all (root only) srvutil stop [-r] [-f] service... (root only) srvutil reconf all (root only) srvutil reconf service... (root only) srvutil status (all users)
Dienst starten, obwohl benötigte Dienste evtl. noch nicht laufen.
Dienst und alle anderen benötigten Dienste starten.
Dienst beenden, obwohl abhängige Dienste evtl. noch laufen.
Dienst und alle anderen abhängigen Dienste beenden.
Der Befehl srvutil stop
kann zusätzlich auch mit der Option
[-g]
aufgerufen werden. Damit lässt sich der Dienst nach einer
angegebenen Zeitspanne (in Minuten) stoppen, optional auch mit einer
Meldung [-m]
. Beide Optionen wirken sich nur auf die Dienste
„afpsrv“ und „pcshare“ aus, andere Dienste wie „lpd“ oder „heladmsrv“ ignorieren
diese und werden sofort gestoppt.
# cd /usr/local/helios # bin/srvutil stop -f pcshare -g 1 -m "PCShare beendet."
Der Dienst PCShare („pcshare“) wird nach einer Frist von einer Minute mit der Meldung „PCShare beendet“ gestoppt, obwohl der Dienst „opisrv“, der von „pcshare“ abhängt, noch läuft.
Master-Prozess muss Konfiguration oder Präferenzen erneut einlesen.
Status aller installierten HELIOS Dienste anzeigen.
Mit HELIOS Service Controller lassen sich auch zusätzliche Serverprozesse starten und beenden.
Wenn Sie weitere Dienste, die von HELIOS Service Controller verwaltet werden sollen, in die HELIOS Software integrieren möchten, müssen Sie dem Server den Dienst mit den Präferenzen ExecPath und DependsOn zur Kenntnis bringen:
prefvalue -k "Services/myservice/ExecPath" -t str "sbin/myservice" prefvalue -k "Services/myservice/DependsOn" -t strlist "afpsrv"
In diesem Beispiel wird das ausführbare Programm „sbin/myservice“ definiert, das nach „afpsrv“ gestartet werden muss.
Der neue Dienst wird beim nächsten Aufruf von „start-helios“ gestartet.
Die Präferenzen für HELIOS Service Controller finden Sie im Abschnitt 19.5 „Service Controller preference keys“.