博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

脚本文件

该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志。

#! /bin/sh

proc_name="console/queue/gift.php"                    # 进程名
log_name="/data/log/watch_queue.log"                  # 日志文件
pid=0

proc_num()                                             # 计算进程数
{
        num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
        return $num
}

proc_id()                                               # 进程号
{
        pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

proc_num
number=$?
if [ $number -eq 0 ]                                    # 判断进程是否存在
then 
        /usr/local/php/bin/php /PATH/gift.php&                 # 重启进程的命令,请相应修改
        proc_id                                               # 获取新进程号
        echo ${pid}, `date` >>  $log_name                    # 将新进程号和重启时间记录
fi

 

crontab

利用定时任务来轮询执行脚本

*/1 * * * * /PATH/watch_queue.sh