Shell-Skript zum Starten und Stoppen einer ausführbaren JAR in einer Linux-Umgebung

28954
user3505567

Ich muss ein Start- und Stopp-Skript für eine ausführbare jar schreiben (z. B. executable.jar).

Wie mache ich das mit Shell-Scripting?

Ich hatte Erfolg, dies für die Windows-Umgebung mit der .bat- Datei zu tun . Aber nicht in der Lage, ein Shell-Skript für das gleiche zu schreiben.

3
Was distro Sie sollten wahrscheinlich ein Init-, Upstart- oder Systemd-Skript schreiben Journeyman Geek vor 9 Jahren 0

2 Antworten auf die Frage

2
Hastur

Dies ist die einfache Version: Sie können ein kleines Skript wie das folgende schreiben (speichern Sie es als MyStart.sh).

#!/bin/bash java -jar executable.jar & # You send it in background MyPID=$! # You sign it's PID echo $MyPID # You print to terminal echo "kill $MyPID" > MyStop.sh # Write the the command kill pid in MyStop.sh 

Wenn Sie dieses Skript mit ausführen /bin/bash MyStart.sh, wird die PID dieses Prozesses auf dem Bildschirm angezeigt.

Ansonsten können Sie das Attribut in MyStart.sh ( chmod u+x MyStart.sh) ändern und es einfach mit ausführen ./MyStart.sh.

Um den Prozess zu stoppen, können Sie über die Befehlszeile schreiben, kill 1234wobei 1234 die vom Skript beantwortete PID ist, oder/bin/bash MyStop.sh

Denken Sie daran, das Skript MyStop.sh zu löschen, nachdem Sie es verwendet haben.

Danke Hastur. Ihre Logik hat für mein Problem funktioniert. Das erwarte ich. user3505567 vor 9 Jahren 0
1
ethanwu10

Sie müssen kein separates Skript ausführen, um die Aufgabe zu stoppen.

Ausleihe von Hasturs Skript:

#!/bin/bash java -jar executable.jar & # Send it to the background MyPID=$! # Record PID echo $MyPID # Print to terminal # Do stuff kill $MyPID # kill PID (can happen later in script as well)