Supervisor是一个客户端/服务器系统,允许用户在类unix系统上控制多个进程。
进程通常需要分组启动和停止,有时甚至是“优先级顺序”。人们常常难以解释这个问题。Supervisor允许您为进程分配优先级,并允许用户通过supervisorctl客户端发出命令,如“全部启动”和“重新启动所有”,它们以预先分配的优先级顺序启动。此外,进程可以分组为“进程组”,一组逻辑关联的进程可以作为一个单元停止并启动。
Supervisor已经过测试,已知在Linux(Ubuntu 9.10),Mac OS X(10.4 / 10.5 / 10.6)和Solaris(10个为Intel)和FreeBSD 6.1上运行。在大多数UNIX系统上可能会运行正常。Supervisor不能在Windows下运行。
安装。ubuntu下安装实例:sudo apt-get supervisor install
配置。进入到supervisor的安装目录下,进入conf.d的文件夹下创建对应的配置。如:queue.conf
主要的配置:
[prohram:进程名]
command = /usr/bin/php /home/admini/projects/wdjf/yii order/queue; #执行进程的命令,此示例为php下的yii框架命令
autostart = true; #在supervisord启动的时候也会启动
startsecs = 5; #启动后5秒没有异常退出,正式启动
autorestart = true; #程序异常退出后自动重启(包括supervisord重启)
startretries = 3; #启动失败自动重启次数,默认为3
user = root; #用那个用户启动
一份配置文件至少需要一个 [program:x]
部分的配置,来告诉 supervisord 需要管理那个进程。
一个配置文件里面可以有多个进程,即多个[program:x]
部分。
启动:sudo service supervisord restart
查看是否启动:ps -aux | grep 进程名
更多资源:http://supervisord.org/