PHP进程的生命周期很短,遇到意外情况也会中断,如果跟想要PHP在后台不断的跑脚本,就需重启它。Supervisor是一个python开发的基于*nix上的管理和监控进程的client/server程序。当PHP进程中断,会重新启动它。
安装:
wget http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0b1.tar.gz
tar -zxvf supervisor-3.0b1.tar.gz
cd supervisor-3.0b1
easy_install supervisor #安装setuptools(yum -y install python-setuptools)
配置:
在/etc/supervisord.conf后添加:
[program:php]
command= /usr/local/php54/bin/php -f /root/supervisor/test.php #被监控进程
;process_name=%(process_num)02d
;numprocs=5 #启动几个进程
autostart=true #随着supervisord的启动而启动
autorestart=true #自动启动
startsecs=1 #程序重启时候停留在runing状态的秒数
startretries=10 #启动失败时的最多重试次数
redirect_stderr=true #重定向stderr到stdout
stdout_logfile=/root/supervisor/test.log #stdout文件
命令:
supervisord :启动supervisor sever
supervisorctl:启动supervisor client的命令行窗口。