Finde VdrAssistant auf SourceForge.net. Schnell, sicher und kostenlos: Open Source Software download

Ein Assistent nicht nur zur Umwandlung von VDR-Aufnahmen zu einer DVD

der Diensteverwalter

Der Herrscher des Untergrundes

Der ServiceManager

Der Service-Manager regiert im Untergrund, d.h. dieser Dienst bestimmt, welcher Anwendungsdienst läuft oder nicht. Der Dienst ist zwar "pure"-Java, aber da es in Java keine Möglichkeit gibt, die Id existierender Prozesse zu ermitteln, braucht er noch ein kleines Shellscript als Wrapper.

Die Dienste, die der Service-Manager überwacht sind einfache Jar-Dateien mit entsprechenden Konfigurationseinträgen in der Datenbank. Damit der Service-Manager die Dienste unter der konfigurierten Benutzerkennung starten kann, muss der Service-Manager selbst als root-Prozess laufen.

Neu: wenn einem Dienst ein Script zugeordnet wurde, welches vor dem Start ausgeführt werden soll, wird geprüft, ob es gültig und ausführbar ist. Falls ja, wird es ausgeführt und der ServiceManager wartet die definierte Startpause, bevor der eigentliche Dienst gestartet wird. Falls eine Triggerdatei definiert wurde, wird der Dienst nur gestartet, wenn die Triggerdatei vorhanden ist.

Analoges gilt für das Beenden des Dienstes. Wenn ein Endescript definiert ist, wartet der ServiceManager die festgelegte Pausenzeit nach dem Beenden des Dienstes, ehe er das Endescript ausführt.

Sinn der Scripte ist der, dass vor dem Start eines Dienstes z.B. entfernte Rechner per WOL gestartet und anschließend entfernte Laufwerke eingebunden werden können. Über die Startpause kann die Bootzeit der Rechner abgewartet werden. Die Endepause dient dazu, sicher zu stellen, dass der Dienst das entfernte Laufwerk wieder freigegeben hat.

Um z.B. das erfolgreiche Einbinden eines entfernten Laufwerkes zu überprüfen, kann eine Triggerdatei festgelegt werden. Ist eine solche Triggerdatei definiert, wird der Dienst nur dann gestartet, wenn die Datei vorhanden ist. Die Triggerdatei könnte z.B. eine Datei eines entfernten Rechners sein.

Da die Scripte unter der gleichen Benutzerkennung ausgeführt werden, wie der Dienst, sollte das Laufwerk die Option "user" in /etc/fstab erhalten. Sonst kommt evtl. eine Fehlermeldung, dass das Laufwerk nicht eingebunden werden darf.

Die Scripte erhalten 2 Argumente:

  1. start/stop - dient dazu, zu unterscheiden, ob das Script als Start- oder als Ende-Script aufgerufen wurde
  2. absoluter Pfad der Triggerdatei - auf diese Weise könnte ein Script mit mehreren Triggerdateien arbeiten
Falls das Startscript die Triggerdatei erzeugt, sollte diese vom Endescript wieder gelöscht werden.

Siehe auch Anwendungen / Mitgift




 
change to english nach Deutsch wechseln