2017-02-13 4 views
1

Ich folgte den Standard-Tutorials draußen im Frühjahr Website und ein paar private Artikel.Spring Boot-Anwendung als Service - im Vordergrund statt Daemon ausgeführt

  1. schaffen eine symbolische Verbindung des Glases
  2. Service /etc/init.d/ myApp

der Dienst gestartet wird starten, aber es beginnt wie eine normale Anwendung im Vordergrund. Genau wie ich lief

java -jar myapp.jar auf dem Terminal

Wie kann ich es im Hintergrund laufen zu lassen wie Mainstream-Linux-Dienste

Das ist mein Skript

sudo chmod 500 myapp.jar 
sudo /path/to/myapp.jar /etc/init.d/myapp 

Und ich lasse den Service laufen als

sudo service myapp start 

Dies läuft jetzt die App ich n Vordergrund hält die Konsole nach oben, statt als Dienst läuft

+0

Verwandte: http://stackoverflow.com/questions/21503883/spring-boot-application-as-a-service – g00glen00b

+0

Dies ist kein Duplikat, die Antwort ist, müssen Sie embeddedLaunchScriptProperties gesetzt> Modus auf " Service "im Frühjahr-Boot-Maven-Plugin-Plugin! Auf diese Weise wird Ihre Anwendung als Dienst ausgeführt. –

Antwort

-1

einfach eine & am Ende des java -jar yourApp.jar in Ihrem Service-Skript hinzuzufügen, diese Gabeln ein Prozess statt, den Prozess zu verwenden, die die start aufruft.

java -jar yourApp.jar & 
+0

ist es eine saubere Lösung. Coz .. selbst das offizielle Dokument sagt so etwas nicht! – madhairsilence

+0

Es ist eine saubere Lösung für die Ausführung eines Prozesses im Hintergrund, unabhängig davon, wo es verwendet wird (init.d oder anderswo in Ihrem Terminal/Bash). Wenn Sie erweiterte Prüfungen wie Doppelstarts verhindern möchten, sollten Sie http://stackoverflow.com/questions/11203483/run-a-java-application-as-a-service-on-linux, wie @Avinash, ausprobieren darauf hingewiesen ... –

+0

OK..Aber warum ist das nicht in dem Dokument erwähnt worden. Wird also erwartet, dass der Springboot als Vordergrund läuft? – madhairsilence

Verwandte Themen