Bir betik kovanından çalıştığım şu komut dosyası var. Ben çalıştırdıktan sonra ve ben ********* Exiting ***********
bildirimini gözlemledim, bash kabuğundan çıkmak istedim ama arka planlanmış java
işlemine devam et. Ancak, exit
no'lu bash komutumda yazdığımda, sadece echo exit
geri döndü ama sonra sadece orada oturur.Komut dosyası arkaplanından sonra bir bash kabuğundan çıkmak görev
Soru: Kabuktan çıkıp görevin devam etmesini sağlamak için bir komut dosyasından bir görevin arkaplanının bir yolu var mı?
#!/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 ***********"
See kullanabilirsiniz: [Linux: SSH istemcisi kapattıktan sonra durdu olmaktan bir arka plan işlemi engelle] (http://stackoverflow.com/q/285015/3776858) – Cyrus