linux写个定时任务shell守护进程

##设置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

每五分钟检查一下

你可能感兴趣的:(linux)