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

28990
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 10 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 10 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)