##设置dump文件大小的限制,咱这,无限制
ulimit -c unlimited
cd /home/linbc/build/bin
#检查一下dump文件夹是否存在不存在则创建
if [ ! -d ../dumpfile ]
then
echo "create dumpfile fold"
mkdir ../dumpfile
fi
#查找my_app1,是否存在(咱们不可能每次都重启这个进程,比如在我这个场景,要app1进程存在,我才会继续启动)
if [ -z `pgrep my_app1` ]
then
echo "my_app1 not running!"
exit
fi
#查找my_app2是否存在,不存在则启动
if [ -z `pgrep my_app2` ]
then
echo "my_app2 not running!"
#备份dump文件,我在这个路径下弄了个文件夹用于存放dump文件
app2_pid=`tail -1 ../dumpfile/app2.pid`
if [ -n $app2_pid -a -e "core.${app2_pid}" ]
then
echo "backup dumpfile,move core.${app2_pid} ../dumpfile/centd.core.${app2_pid}"
mv "core.${app2_pid}" "../dumpfile/app2.core.${app2_pid}"
fi
echo "start the app2 server"
nohup ./my_app2 -c my_app2.conf > _app2.out 2>&1 &
#将进程号存下来,用来重命名dump文件
pgrep my_app2 >> ../dumpfile/app2.pid
fi
cd ${OLDPWD}
然后就可以在shell
crontab –e
写入
0-59/5 * * * * /home/linbc/bin/check_the_process
每五分钟检查一下