脚本文件
该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志。
#! /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