Ich möchte eine Java Applikation als Daemon starten.
Dazu habe ich zunächst ein kleines Shellscript gebaut das ein paar Umgebungsvariablen setzt und die VM mit den entsprechenden Parametern aufruft.
Das Shellscript wird von einem von /etc/init.d/skeleton abgeleiteteten Script aufgerufen.
Ich habe es jetzt so weit geschafft, daß mein Programm gestartet wir, das Stoppen jedoch misslingt. Dabei ist mir aufgefallen, daß auch keine .pid in /var/run abgelegt wird.
Irgendwie find ich keine Docu. welche Voraussetztungen ein Prog. erfüllen muss um mit start-stop-daemon zusammenzuarbeiten.
Wer hat mir einen Tip ?
Java Serverapplikation als Daemon
- blackm
- Moderator und Co-Admin
- Beiträge: 5921
- Registriert: 02.06.2002 15:03:17
- Lizenz eigener Beiträge: MIT Lizenz
Bei dem Start mit start-stop-daemon kannst du doch --pid-file angeben...wird da keine file angelegt?
by, Martin
by, Martin
Schöne Grüße
Martin
Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden
Martin
Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden
Nein, das File wird nicht angelegt.
Habe wohl das Problem, daß ich es erstmal schaffen muss, daß meine JavaApplikation bzw. die VM mit der ProzessId der aufgerufenen Shell laufen muss (hab es schon mit exec probiert).
Wenn ich die VM in meinem Script nicht als Hintergrundprocess starte (&) dann endet das Start-Stop-Script nie. Als Hinterrundprozess stimmt jedoch die ProzessId nicht.
Irgendwo hab ich da noch einen Verständnissknoten.
Habe wohl das Problem, daß ich es erstmal schaffen muss, daß meine JavaApplikation bzw. die VM mit der ProzessId der aufgerufenen Shell laufen muss (hab es schon mit exec probiert).
Wenn ich die VM in meinem Script nicht als Hintergrundprocess starte (&) dann endet das Start-Stop-Script nie. Als Hinterrundprozess stimmt jedoch die ProzessId nicht.
Irgendwo hab ich da noch einen Verständnissknoten.
Mit mühevollem Herumexperimentieren mit dem start-stop-daemon bin ich jetzt hinter folgendes gekommen:
Die Java Variante bringt wohl noch ein paar zusätzliche Probleme hinzu.
Kennt niemand hier eine vernünftiges HOW-TO über das Schreiben von Daemons?
- Im Normalfall ist der Daemon-Process selbst für Anlegen und Löschen des .pid files zuständig.
- Er soll auch selber den Detach machen.
- Mit --startas anstatt --exec kann man den start-stop-daemon überreden auf die .pid statt den Prozessnamen zu überprüfen.(Prozessnamen geht wegen Startscript nicht)
- Löschen der .pid Datei beim Beenden des Daemons
- Fehlerabbruch beim Starten des Daemons
Die Java Variante bringt wohl noch ein paar zusätzliche Probleme hinzu.
Kennt niemand hier eine vernünftiges HOW-TO über das Schreiben von Daemons?