1、需求


现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,就需要使用到了Supervisor。Supervisor起到守护进程的作用。

2、安装


https://pypi.python.org/pypi/supervisor

tar zxvf supervisor-3.0.tar.gz
cd supervisor-3.0
python2.7 setup.py build
python2.7 setup.py install

  

需要依赖于meld3-1.0.0.tar.gz,联网安装,由于所在机器无法上网,故进行手动安装meld。

参照上面方法再进行安装meld,安装完成之后再次进行install即可。

测试安装是否成功:echo_supervisord_conf

配置文件:echo_supervisord_conf > /etc/supervisord.conf

3、Supervisor相关


supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令

supervisorctl:启动supervisor的命令行窗口

4、Demo1测试


需求是对本地的API进程进行守护,要求这个服务能在意外停止后自动重启。

API的执行命令为:python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005

修改配置文件

[program:mysqlapi]
command = python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005
autostart = true
autorestart = true
startsecs = 3
stdout_logfile = /data1/guosong/mysqlapi/log/mysqlapi_demo1.log

启动supervisord

[root@typhoeus79 mysqlapi]# ps aux |grep super
root 15377 0.0 0.0 61268 788 pts/3 R+ 16:23 0:00 grep super
[root@typhoeus79 mysqlapi]# supervisord
Unlinking stale socket /var/tmp/supervisor.sock
[root@typhoeus79 mysqlapi]# ps aux |grep super
root 15458 0.0 0.0 147148 7976 ? Ss 16:23 0:00 /usr/bin/python /usr/bin/supervisord
root 15533 0.0 0.0 61268 792 pts/3 S+ 16:23 0:00 grep super 

查看进程状态

[root@typhoeus79 mysqlapi]# supervisorctl
mysqlapi RUNNING pid 15460, uptime 0:01:19
supervisor> status
mysqlapi RUNNING pid 15460, uptime 0:01:21
supervisor> exit
[root@typhoeus79 mysqlapi]# ps aux |grep 8005
root 15460 0.2 0.0 208436 15484 ? S 16:23 0:00 python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005
root 16314 0.0 0.0 61268 788 pts/3 S+ 16:24 0:00 grep 8005
[root@typhoeus79 mysqlapi]#   

kill测试

[root@typhoeus79 mysqlapi]# ps aux |grep 8005
root 15460 0.2 0.0 208436 15484 ? S 16:23 0:00 python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005
root 16314 0.0 0.0 61268 788 pts/3 S+ 16:24 0:00 grep 8005
[root@typhoeus79 mysqlapi]#
[root@typhoeus79 mysqlapi]# kill 15460
[root@typhoeus79 mysqlapi]# ps aux |grep 8005
root 17431 21.0 0.0 208436 15484 ? S 16:25 0:00 python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005
root 17437 0.0 0.0 61268 772 pts/3 R+ 16:25 0:00 grep 8005
[root@typhoeus79 mysqlapi]# kill -9 17431
[root@typhoeus79 mysqlapi]# ps aux |grep 8005 |grep -v grep
root 17540 7.0 0.0 208440 15488 ? S 16:25 0:00 python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005
[root@typhoeus79 mysqlapi]#

使用kill以及kill -9 进程的id都发生变化

使用supervisorctl进行程序重启

[root@typhoeus79 mysqlapi]# supervisorctl stop all
mysqlapi: stopped
[root@typhoeus79 mysqlapi]# ps aux |grep 8005 |grep -v grep
[root@typhoeus79 mysqlapi]# supervisorctl start all
mysqlapi: started
[root@typhoeus79 mysqlapi]# ps aux |grep 8005 |grep -v grep
root 19649 3.0 0.0 208440 15488 ? S 16:28 0:00 python2.6 /data1/guosong/mysqlapi/main/api_main.py --port=8005
[root@typhoeus79 mysqlapi]#

5、Demo2测试


守护多个进程,修改/etc/supervisord.conf配置

[program:mysqlapi]
command=python26 /data1/guosong/mysqlapi/main/api_main.py --port=140%(process_num)02d
process_name=%(program_name)s_%(process_num)02d ; process_name expr (default %(program_name)s)
numprocs=8
numprocs_start=81
startretries=3
stopwaitsecs=10
autorstart=true
log_stdout=true
log_stderr=true
logfile=/data1/guosong/mysqlapi/log/mysql_api_demo.log

超过2位数如何表示?

command=python26  /data1/guosong/mysqlapi/main/api_main.py --port=140%(process_num)02d

结果演示:

  

6、问题集锦


 问题1-mysqlapi entered FATAL state, too many start retries too quickly:

2014-05-15 17:26:30,898 INFO exited: mysqlapi (exit status 1; not expected)
2014-05-15 17:26:30,899 INFO received SIGCLD indicating a child quit
2014-05-15 17:26:31,901 INFO gave up: mysqlapi entered FATAL state, too many start retries too quickly

原因在于版本导致,api的脚本版本为python26,故使用supervisord也需要使用python26进行安装,查看进程信息如下:

root     24058  0.0  0.0 151420 10204 ?        Ss   18:28   0:00 /usr/bin/python26 /usr/bin/supervisord -c /etc/supervisord.conf

问题2- http://127.0.0.1:9001 refused connection:

[root@typhoeus79 20140515]# supervisorctl
http://10.75.xxx.xxx:9001 refused connection

原因在于没有开启inet_http_server,配置文件默认使用分号注释每行

aaarticlea/png;base64,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" alt="" />

将inet_http_server前面的分号去除后,重新开启supervisord

[root@typhoeus79 20140515]# /etc/init.d/supervisord stop
Stopping supervisord: [ OK ]
[root@typhoeus79 20140515]# supervisord -c /etc/supervisord.conf
[root@typhoeus79 20140515]# supervisorctl
mysqlapi:mysqlapi_81 RUNNING pid 32513, uptime 0:00:02
mysqlapi:mysqlapi_82 RUNNING pid 32511, uptime 0:00:02
mysqlapi:mysqlapi_83 RUNNING pid 32512, uptime 0:00:02
mysqlapi:mysqlapi_84 RUNNING pid 32509, uptime 0:00:02
mysqlapi:mysqlapi_85 RUNNING pid 32510, uptime 0:00:02
mysqlapi:mysqlapi_86 RUNNING pid 32507, uptime 0:00:02
mysqlapi:mysqlapi_87 RUNNING pid 32508, uptime 0:00:02
mysqlapi:mysqlapi_88 RUNNING pid 32514, uptime 0:00:02

访问界面:

aaarticlea/png;base64,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" alt="" />

使用Supervisor守护Python进程的更多相关文章

  1. 用 C# 来守护 Python 进程

    背景 目前我主要负责的一个项目是一个 C/S 架构的客户端开发,前端主要是通过 WPF 相关技术来实现,后端是通过 Python 来实现,前后端的数据通信则是通过 MQ 的方式来进行处理.由于 Pyt ...

  2. linux centos Supervisor守护.netcore进程安装配置

    场景:当部署完.netcore程序后 使用dotnet xx.dll 后可以运行,但关闭shell或隔断时间会自动断开,此时部署的.netcore程序就不能访问了,此时需要用到Supervisor了 ...

  3. .Net Core 项目发布到Linux - CentOS 7(二)用Supervisor守护netcore进程

    简介 supervisor可以保证程序崩溃后,可以重新把程序启动起来等相关功能. 安装 yum install -y supervisor 安装好后在/etc/会生成一个supervisord.con ...

  4. supervisor - Python进程管理工具(转)

    add by zhj: 下面是在ubuntu上的一些使用经验 1. 简介 supervisor有两个组件:supervisord和supervisorctl,组成了client/server结构. s ...

  5. Centos7 使用 Supervisor 守护进程 Celery

    一.Supervisor 安装(centos7 还有另一个进程守护命令 Systemd ) Centos 7 安装 Supervisord 二.Supervisor 守护进程 Centos7 使用 S ...

  6. python进程管理工具Supervisor

    一.Supervisor简单介绍 supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序.supervisor与lau ...

  7. 【Centos7】 中使用Supervisor守护进程

    原文出处: Centos7 中使用Supervisor守护进程 配置supervisor实现进程守护 1.安装supervisor yum install Supervisor   2.启动服务 su ...

  8. 【.netcore学习】.netcore添加到 supervisor 守护进程自启动报错

    配置 supervisor [program:HelloWebApp] command=dotnet run directory=/home/python/dotnet/myweb/mywebapi ...

  9. centos7 .net core 使用supervisor守护进程,可以后台运行

    1.安装supervisor yum install supervisor 2.配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/super ...

随机推荐

  1. 基于RTKLIB构建高并发通信测试工具

    1. RTKLIB基础动态库生成 RTKLIB是全球导航卫星系统GNSS(global navigation satellite system)的标准&精密定位开源程序包,由日本东京海洋大学的 ...

  2. 使用svn与maven管理的项目导入Eclipse,但是与本地svn客户端关联不上?

    因为这个问题,导致我的项目导了删,删了导.现在终于弄明白了. 首先,需求场景是:    1.使用svn进行版本控制;    2.使用maven进行项目管理.    3.使用Tortoise svn将项 ...

  3. Django实现用户密码重置

    使用Django内置的认证视图实现简单的通过邮箱重置密码的功能版本:django 1.11 在django.contrib.auth.views中提供了四个类视图用于密码重置 class Passwo ...

  4. vmware虚拟机安装CentOS-6.5教程

    linux是企业最常用的服务器系统之一,CentOS是免费的,所以用的企业也挺多,今天给大家分享怎么在自己电脑的虚拟机中安装CentOS-6.5,以便用来玩耍,没事的时候可以学学linux的一些知识. ...

  5. Babel运行原理

    前言     之前翻博客园的时候,看到有人朋友分享阿里巴巴的面试题,其中有一道题就是关于ES6转ES5 原理的,当时我看到感觉到自己离去阿里巴巴的路还很远啊,像我们大部分做开发的时候,都只知其然不知 ...

  6. 开始Java8之旅(四) --四大函数接口

    前言   Java8中函数接口有很多,大概有几十个吧,具体究竟是多少我也数不清,所以一开始看的时候感觉一脸懵逼,不过其实根本没那么复杂,毕竟不应该也没必要把一个东西设计的很复杂. 几个单词   在学习 ...

  7. js的事件循环绑定和jQuery的隐式迭代

    js的事件循环绑定和jQuery的隐式迭代 js事件循环绑定 jQuery隐式迭代 先举一个例子:给定一个ul,点击列表内的每一个li元素,使它的背景色变红,下边分别用js代码和jQuery实现. & ...

  8. WebUploader在谷歌浏览器中反应缓慢迟钝

    修改  初始化webuploader的 js accept: { title: 'Images', extensions: 'jpg,jpeg,png', mimeTypes: 'image/*' } ...

  9. typeof、constructor和instance

    在JavaScript中,我们经常使用typeof来判断一个变量的类型,使用格式为:typeof(data)或typeof data.typeof返回的数据类型有六种:number.string.bo ...

  10. MongoDB固定集合(Capped Collections)

    MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...