
Ich versuche, ein reibungsloses Start-/Herunterfahrskript (Bash) für eine Java-App (JAR) zu entwerfen, die ich auf meinem Ubuntu 14.04-Server bereitstellen werde. Ich suche nach einer sauberen, Linux- und Ubuntu-freundlichen Möglichkeit, den Server wie folgt zu starten:
java -jar myapp.jar <lots off subsequent arguments>
Suchen Sie anschließend im Shutdown-Skript nach der PID des JAR, geben Sie ein SIGSTOP aus, damit die App auch selbstständig ordnungsgemäß heruntergefahren werden kann, und beenden Sie anschließend die PID, wenn sie vollständig bereit ist.
Ich habe mich gefragt, obupstart
könnte ein guter Kandidat für einen solchen Anwendungsfall sein, und wenn ja, wie? Welche anderen Ansätze könnte ich sonst noch verfolgen?
Antwort1
SIGSTOP hält den Prozess an und führt kein sauberes Herunterfahren durch. Verwenden Sie stattdessen SIGTERM.
Hier ist ein Entwurf eines Upstart-Jobs für einen Java-Prozess:
description "my java app"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec java -jar myapp.jar <arguments>
das sollte ziemlich gut funktionieren.