ubuntu 守护进程supervisor的安装及使用(转载)

原文地址:http://blog.csdn.net/u012374229/article/details/47158435python

注意:如下代码,命令和配置在ubuntu14.04LTS上实际测试,其余发行版或ubuntu其余版本仅供参考sql

  • 安装 
    安装可使用一下命令:
sudo apt-get install supervisor

安装成功后,supervisor就会默认启动shell

  • 使用 
    有不少方法添加进程,看了不少博客上的介绍和加上个人实际使用,我认为一下方法最好用: 
    将每一个进程的配置文件单独拆分,放在/etc/supervisor/conf.d/目录下,以.conf做为扩展名,例如test.conf定义的一个简单的HTTP服务器:
[program:test] command=python -m SimpleHTTPServer

 

重启supervisor,让配置文件生效,而后启动test进程:ubuntu

supervisorctl reload
supervisorctl start test

若是要中止进程,就用stop 
其余一些配置,经过这个例子讲解bash

[program:meta.txn.recover.on.error] command=/cas/bin/meta.txn.recover.on.error ; 被监控的进程路径 numprocs=1 ; 启动几个进程 directory=/cas/bin ; 执行前要不要先cd到目录去,通常不用 autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启。。固然要选上了 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码(是说退出代码是这个时就再也不重启了吗?待肯定) stopsignal=KILL ; 用来杀死进程的信号 stopwaitsecs=10 ; 发送SIGKILL前的等待时间 redirect_stderr=true ; 重定向stderr到stdout stdout_logfile=logfile ; 指定日志文件

 

经常使用命令: 
supervisorctl start programxxx,启动某个进程服务器

supervisorctl restart programxxx,重启某个进程测试

supervisorctl stop groupworker: ,重启全部属于名为groupworker这个分组的进程(start,restart同理)ui

supervisorctl stop all,中止所有进程,注:start、restart、stop都不会载入最新的配置文件。spa

supervisorctl reload,载入最新的配置文件,中止原有进程并按新的配置启动、管理全部进程。.net

supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。

supervisor启动和中止的日志文件存放在/var/log/supervisor/supervisord.log

注意:显式用stop中止掉的进程,用reload或者update都不会自动重启

相关文章
相关标签/搜索