##设置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
每五分钟检查一下