现在的位置: 首页 > 综合 > 正文

可执行PHP文件的守护进程

2018年04月14日 ⁄ 综合 ⁄ 共 945字 ⁄ 字号 评论关闭

#!/bin/bash                                                                                                                                                  
#a[1]=`ps -ef | grep newFullTextFetcher.php | grep -v color | grep -v grep | wc -l`

b[1]='newFullTextFetcher.php'
b[2]='getWeeklyTrends.php'
b[3]='mblog_rank_calc.daemon.php'
b[4]='gr_rank_calc.daemon.php'
b[5]='update_intimacy.daemon.php'
#将进程名称赋值变量

log_path=*****
#输出的日志路径

for (( i=1;i<=5;i=i+1 ))

do

a[$i]=`ps -ef | grep ${b[$i]} | grep -v color | grep -v grep | wc -l`
#每个进程数

for user in `ps -ef | grep ${b[$i]} | grep -v color | grep -v grep | awk '{print $1}'`

do

if [ "$user" != "www-data" ] ; then
   sudo  ps -ef | grep ${b[$i]} | grep $user | awk '{print $2}' | xargs sudo kill -9
fi

done
#用户判断,将不是www-data的进程杀掉

if [  "${a[$i]}" -eq 0 ] ; then

echo `date`>> $log_path
echo "process_dead: ${b[$i]}" >> $log_path
#将死掉的进程和时间打入日志

cd /home/mx/var/waka/noweb
chmod 777 nohup.out
sudo -u www-data nohup php -f ${b[$i]} &
#监控进程,使进程一直运行

echo `date`>> $log_path
echo "process_alive: ${b[$i]}" >> $log_path
#将启动进程和时间打入日志
fi

done

抱歉!评论已关闭.