Java Serverapplikation als Daemon

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
zx-81
Beiträge: 10
Registriert: 18.12.2003 20:41:29

Java Serverapplikation als Daemon

Beitrag von zx-81 » 11.01.2004 16:14:42

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 ?

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 11.01.2004 16:34:44

Bei dem Start mit start-stop-daemon kannst du doch --pid-file angeben...wird da keine file angelegt?

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

zx-81
Beiträge: 10
Registriert: 18.12.2003 20:41:29

Beitrag von zx-81 » 11.01.2004 17:00:34

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.

zx-81
Beiträge: 10
Registriert: 18.12.2003 20:41:29

Beitrag von zx-81 » 11.01.2004 21:56:09

Mit mühevollem Herumexperimentieren mit dem start-stop-daemon bin ich jetzt hinter folgendes gekommen:
  • 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)
Augenblicklich kämpfe ich noch mit folgenden Problemen:
  • Löschen der .pid Datei beim Beenden des Daemons
  • Fehlerabbruch beim Starten des Daemons
Wäre einfacher gewesn wenn ich vorher schon mal einen Daemon in C geschrieben hätte.
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?

egoddi
Beiträge: 32
Registriert: 10.12.2002 00:02:28
Wohnort: Norwegen
Kontaktdaten:

Beitrag von egoddi » 21.01.2004 19:33:19

http://cr.yp.to/daemontools.html

ist eine einfach zu benutzende alternative.

Antworten