我正在编写一个watchDog脚本,它启动我的应用程序,并在检测到为down时重新启动它(根据进程PID)。
码
while [ $pid ]; do
pid=$(getPID)
#if server App is down start it!
if [ -z "$pid" ]; then
echo -e "`date` [INFO]: watchDog activated -> starting service since was been deteced as down!\n" >> $watchDogLogger 2>$1
startApp > /dev/null 2>$1
pid=$(getPID)
fi
done
问题是当用户使用watchDog(看门狗启动)启动应用程序时,因为while循环控制台“卡住”而我无法继续使用它。 我知道我不能将watchDog作为后台工作(watchDog start&)运行然后让控制台返回但它让我烦恼,因为当我想要停止它(watchDog stop)它确实停止了应用程序但是第一次watchDop job(watchDog start)仍然有效。
有没有其他方法可以启动watchDog并恢复康复?
谢谢!