0
我有以下腳本,我從bash shell運行。我執行它之後,我觀察到********* Exiting ***********
聲明,我希望退出bash shell,但是後續的進程仍在繼續java
。但是,當我在我的bash提示符下鍵入exit
時,它只是回顯exit
,但後來就坐在那裏。在腳本背景之後退出bash shell任務
問題:有沒有辦法讓我在腳本中後臺執行任務,以便我可以退出shell並讓任務繼續?
#!/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 ***********"
參見:[Linux的:從關閉SSH客戶端後停止防止後臺進程(http://stackoverflow.com/q/285015/3776858) – Cyrus