您的位置:首页 > 编程语言 > Python开发

【Supervisor】Python 进程管理工具

2016-09-03 15:22 701 查看
Supervisor的安装配置与使用

一、简介

【1】Supervisor是Python开发的进程管理工具(Client/Server系统),可以管理和监控Unix,Linux,Mac OS X 系统上的进程,无法运行在Windows上

【2】Supervisor官方版目前只能在Python2.4以上版本运行,但是还无法运行在Python3版本上

【3】当执行一些需要以守护进程方式执行的程序时(比如后台任务),可以使用Supervisor来管理进程,包括对进程的启动、关闭和重启等,还可以管理程序在命令行上输出的日志,将日志重定向到自定义的文件中

【4】组成部分

supervisord:Supervisor的Server部分,运行Supervisor时会启动一个进程supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启

supervisorctl:Supervisor的命令行客户端,是命令行管理工具,可以用来执行 stop、start、restart 等命令,来对这些子进程进行管理

【5】参考链接

http://www.restran.net/2015/10/04/supervisord-tutorial/

http://linbo.github.io/2013/04/04/supervisor/

二、安装

【1】直接使用 sudo pip install supervisor安装,生成配置文件时,会报错



【2】解决方法:sudo pip install supervisor==3.0b2



【3】也可以通过easy_install命令来安装

参考链接:http://www.jianshu.com/p/9abffc905645

三、配置

【1】使用 echo_supervisor_conf命令,生成配置文件,并重定向到Downloads文件夹中



【2】vim supervisord.conf打开配置文件,可以对http_server,supervisord,supervisorctl,以及program进行配置,默认生成的文件已经对大部分进行配置,简单使用的话,只需要配置program部分即可

[unix_http_server]



[supervisord]



[supervisorctl]



[program]



[eventlistener]



[group]



[include]



【3】关于各个配置部分的含义和注意事项,参考以下链接

http://www.restran.net/2015/10/04/supervisord-tutorial/

http://liyangliang.me/posts/2015/06/using-supervisor/

【4】对program和include部分进行配置,作为示例





四、使用

【1】生成新的配置文件后,可以通过 supervisord -c supervisors.conf启动supervisord



【2】可以使用 ps aux | grep supervisord命令,来查看是否在运行,进程ID为22021



【3】通过 kill 22021
命令,可以杀掉进程





【4】通过supervisorctl可以管理进程,supervisorctl -c supervisors.conf status 查看程序状态



【5】supervisorctl -c supervisors.conf stop test.app关闭程序



【6】supervisorctl -c supervisors.conf start test.app启动程序





【7】也可以直接进入supervisorctl客户端,输入相应的命令



【8】每次修改配置文件后,需进入supervisorctl,执行reload,改动部分才能生效



【9】参考链接

http://www.jianshu.com/p/9abffc905645
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息