Ich habe das folgende Skript, das ich aus einer Bash-Shell ausführen. Nachdem ich es ausgeführt habe und ich die ********* Exiting ***********
Anweisung beobachte, möchte ich die Bash-Shell beenden, aber den Hintergrund java
Prozess fortsetzen. Jedoch, wenn ich 10 an meiner Bash-Eingabeaufforderung eingeben, ist es einfach Echo exit
zurück, aber dann sitzt nur da.Eine Bash-Shell nach einem Skript-Hintergrund beenden eine Aufgabe
Frage: Gibt es eine Möglichkeit für mich, eine Aufgabe innerhalb eines Skripts zu hinterfragen, so dass ich die Shell verlassen und die Aufgabe fortsetzen kann?
#!/bin/sh
pid=$(cat /tmp/myapp.pid)
if [ "$(ps -o comm= -p "$pid")" = "java" ]; then
echo "Killing the previous myapp process"
kill $pid
else echo "Could not find a previously running myapp process"
fi
cd ~/deploy
echo "Launching myapp"
java -Dconfig.file=./myapp-1.conf -jar myapp.jar & echo "$!" > /tmp/myapp.pid
sleep 5
echo "********* Exiting ***********"
Siehe auch: [Linux: einen Hintergrundprozess Verhindern, dass nach dem Schließen SSH-Client gestoppt] (http://stackoverflow.com/q/285015/3776858) – Cyrus