2009-03-12 11 views
2

Ich habe ein Java-System geerbt, das im Hintergrund auf einem Linux-Server laufen sollte. Die Anweisungen fordern, dass es gestartet wird java -jar start.jar. Dies erscheint mir etwas zu zerbrechlich. Ich möchte, dass es im Hintergrund läuft und idealerweise automatisch beim Booten startet.Long running java process

Was ist der beste Weg, dies zu erreichen? Ich habe untersucht, das System innerhalb einer screen Umgebung zu betreiben, die gut funktioniert, aber nicht automatisch startet, wenn das System neu startet.

Antwort

7

Sie können ein init.d-Skript dafür schreiben! (init.d-Skripten werden in angegebenen Runlevels beim Start gestartet)

Oder Sie können es im Hintergrund mit & am Ende des Befehls starten.

java -jar start.jar & 

Welche Art von Vertrieb verwenden Sie? Debian?

Werfen Sie einen Blick auf: Creating your own init.d script

+1

Sie meinen init.d - initrd (initial ramdisk) ist eine ganz andere Sache. –

1

Mindestens auf ubuntu, würde ich mit einem & am Ende dieses Befehls in der /etc/rc.local-Datei setzen.

1

+1 auf einen init.d-Skript

Sie sollten auch prüfen, mit jsvc (http://commons.apache.org/daemon/jsvc.html) in Ihrem init.d-Skript, damit Sie privilegierte Ressourcen nutzen, während den Dienst als nicht privilegierten Benutzer ausgeführt wird. jsvc ist mit mindestens Debian und Ubuntu gebündelt.