这个方案简单不用额外安装软件。
缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的php
#!/bin/bash #@author smallForest #@email 1032817724@qq.com proc_name="xiaofei.php" #进程名字 proc_num() { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num } proc_num number=$? echo $number if [ $number -eq 0 ] then #cd /Applications/MAMP/htdocs/aa/bb/public #进入路径 nohup php xiaofei.php >xiaofei 2>&1 & # 建立守护进程 fi
此方案反应速度快,对系统资源消耗较大html
yum install python-setuptools
easy_install supervisor
python
echo_supervisord_conf
有输出就正确shell
mkdir /usr/supervisor echo_supervisord_conf > /usr/supervisor/supervisord.conf mkdir /usr/supervisor/supervisord.d/
vim /usr/supervisor/supervisord.conf
vim
[include] files = /usr/supervisor/supervisord.d/*.conf
supervisord -c /usr/supervisor/supervisord.conf
vim /usr/supervisor/supervisord.d/supervisor_test_one.conf
[program:test_one] command=php /root/lianxi_php/xiaofei.php ; 被监控的进程路径 priority=1 ; 数字越高,优先级越高 numprocs=1 ; 启动几个进程 autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码 stopsignal=KILL ; 用来杀死进程的信号 stopwaitsecs=10 ; 发送SIGKILL前的等待时间 redirect_stderr=true ; 重定向stderr到stdout
supervisord -c /usr/supervisor/supervisord.conf
会有一个supervisor>
输入reload
bash
参考linkpwa