Ich muss ein Start- und Stoppskript für eine ausführbare JAR-Datei schreiben (z. B. executable.jar).
Wie geht das mit Shell-Skripten?
Ich habe es erfolgreich für die Windows-Umgebung mit.SchlägerDatei. Aber ich schaffe es nicht, ein Shell-Skript dafür zu schreiben.
Antwort1
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 ausgedruckt.
Andernfalls können Sie das Attribut in MyStart.sh ( ) ändern chmod u+x MyStart.sh
und es einfach mit ausführen ./MyStart.sh
.
Um den Prozess zu stoppen, können Sie in der Kommandozeile schreiben, kill 1234
wobei 1234 die vom Skript beantwortete PID ist, oder/bin/bash MyStop.sh
Denken Sie daran, das Skript MyStop.sh nach der Verwendung zu löschen.
Antwort2
Sie müssen kein separates Skript ausführen, um die Aufgabe zu stoppen.
Auszug aus 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)