专栏首页SeanCheney的专栏快速使用Supervisor管理进程(程序自动重启)

快速使用Supervisor管理进程(程序自动重启)

Supervisor是一个用Python写成的进程管理工具,见https://github.com/Supervisor/supervisor

  1. Centos安装supervisor:
yum install supervisor
  1. 生成配置文件(conf文件的位置可修改):
echo_supervisord_conf > /data/wechat/supervisor/supervisord.conf
  1. supervisord.conf中添加如下信息:
### 加入以下配置信息
[include]
files = /data/wechat/supervisor/supervisord.d/*.conf

### 在supervisord.conf中设置通过web可以查看管理的进程,加入以下代码(默认即有,取消注释即可)    
[inet_http_server] 
port=9001
username=user      
password=123
  1. 写配置文件,放到/data/wechat/supervisor/supervisord.d/中:

如果代码要起多个进程:

[program:appMetaSpider_downloader]
command=/data/wechat/miniconda3/envs/venv_meta/bin/python xxxxxx.py    ; 被监控的进程路径
directory=/data/wechat/xxxxxx                ; 执行前要不要先cd到目录去,一般不用
priority=1                    ;数字越高,优先级越高
process_name=%(program_name)s_%(process_num)02d ;多进程名称肯定不同,匹配多个
numprocs=4                    ; 启动几个进程
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=10               ; 启动失败时的最多重试次数
exitcodes=0                   ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout

如果是单个进程:

# supervisor_appMetaSpider_scheduler.conf
[program:appMetaSpider_parser]
command=/data/wechat/miniconda3/envs/venv_meta/bin/python xxxxxxx.py    ; 被监控的进程路径
directory=/data/wechat/xxxxxxx                ; 执行前要不要先cd到目录去,一般不用
priority=1                    ;数字越高,优先级越高
numprocs=1                    ; 启动几个进程
autostart=true                ; 随着supervisord的启动而启动
autorestart=true              ; 自动重启。。当然要选上了
startretries=10               ; 启动失败时的最多重试次数
exitcodes=0                   ; 正常退出代码(是说退出代码是这个时就不再重启了吗?待确定)
stopsignal=KILL               ; 用来杀死进程的信号
stopwaitsecs=10               ; 发送SIGKILL前的等待时间
redirect_stderr=true          ; 重定向stderr到stdout
  1. 启动supervisor:
supervisord -c /data/wechat/supervisor/supervisord.conf
  1. 可以访问地址 http://ip_address:9001 查看进程列表

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python深度学习“四大名著”

    下载地址:https://www.jianshu.com/p/9efbae6dbf8e

    SeanCheney
  • 《Scikit-Learn与TensorFlow机器学习实用指南》 第02章 一个完整的机器学习项目(下)选择并训练模型模型微调启动、监控、维护系统实践!练习

    大多机器学习算法不能处理特征丢失,因此先创建一些函数来处理特征丢失的问题。前面,你应该注意到了属性total_bedrooms有一些缺失值。有三个解决选项:

    SeanCheney
  • Redis、MongoDB实现远程访问

    修改redis.conf: sudo vi /etc/redis/redis.conf 将绑定主机这条注释掉: # bind 127.0.0.1 保护模式改为n...

    SeanCheney
  • 极客DIY:如何制作一款属于自己的谷歌眼镜?

    你想不想拥有一款属于自己的虚拟现实眼镜,是否因为看到此类眼镜的价格之后心碎了,但我没有停止这个想法,于是我开始考虑做一个属于自己的眼镜,下面就来一起了解一下吧。...

    FB客服
  • lombok在java项目中的使用

    @NoArgsConstructor@RequiredArgsConstructor@AllArgsConstructor

    jinjunzhu
  • 移动VR:先定个小目标,比方说换一个OLED屏幕

    镁客网
  • CenturyLink绘制了自己的虚拟化蓝图

    据电信公司的Anil Simlot称,在虚拟化方面,CenturyLink通过使用内部开发的软件和工具开辟了自己的道路。

    SDNLAB
  • 运用Python实现WordPress网站大规模自动化发布文章

    很多用WordPress建站的朋友都有这样的苦恼,网站建好了,没有时间自己写文章,慢慢就荒废了,还有的朋友在浏览器收集好多喜欢的博客网站地址,因为收集的网址太多...

    Python中文社区
  • 资产瞎配模型(三):风险平价及其优化

    之前两篇文章对若干资产配置模型进行了回测分析,本文重点关注风险平价模型及其优化,考察优化后的效果。

    量化小白
  • 厉害了!全CI/CD工具链的实现 | 基于OCP离线: Openshift3.9学习系列第五篇

    干货巨献:Openshift3.9的网络管理大全.加长篇---Openshift3.9学习系列第二篇

    魏新宇

扫码关注云+社区

领取腾讯云代金券