Linux监测后台程序运行,程序挂掉自动重启
如果程序存在则不重启,发现程序不存在则立即重启,
监测后台程序health-0.0.1-SNAPSHOT是否存在
run=$(ps -ef |grep "health-0.0.1-SNAPSHOT" |grep -v "grep")
if [ "$run" ] ; then
输出日志
echo `date +%Y-%m-%d_%d-%H-%M-%S` " ======== The service is alive!"
重启程序,控制台日志输出以时间命名
nohup java -jar $PWD/health-0.0.1-SNAPSHOT.jar >`date +%Y-%m-%d_%d-%H-%M-%S`.log 2>&1 &
完整程序
#!/bin/sh
while :
do
run=$(ps -ef |grep "health-0.0.1-SNAPSHOT" |grep -v "grep")
if [ "$run" ] ; then
echo `date +%Y-%m-%d_%d-%H-%M-%S` " ======== The service is alive!"
else
echo `date +%Y-%m-%d_%d-%H-%M-%S` " ======== The service was shutdown!"
echo `date +%Y-%m-%d_%d-%H-%M-%S` " ======== Starting service ..."
nohup java -jar $PWD/health-0.0.1-SNAPSHOT.jar >`date +%Y-%m-%d_%d-%H-%M-%S`.log 2>&1 &
echo `date +%Y-%m-%d_%d-%H-%M-%S` " ======== The service was started!"
fi
sleep 20
done