专栏首页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 条评论
登录 后参与评论

相关文章

  • 自动化测试之进程管理

    在之前的一篇文章《终端自动化测试探索之路》中提到过当发生断电等情况,服务器重启之后如何快速恢复自动化服务,这里针对这个问题具体讲讲我的实现方式。

    岛哥的质量效能笔记
  • Linux进程监控工具Supervisor简易使用教程

    專 欄 ❈ gw1770df,Python中文社区专栏作者,从事Python开发工作,全栈工程师。 博客: https://word.gw1770df.cc ...

    Python中文社区
  • Supervisor 从入门到放弃

    简单点来讲,就是一个监控脚本运行的工具,不过他可以统一化管理,laravel的队列文档上也有相关使用方式方法,例如

    CrazyCodes
  • 【Storm篇】--Storm 容错机制

    Nimbus 资源调度 任务分配 接收jar包 Supervisor 接收nimbus分配的任务 启动、停止自己管理的worker进程(当前superviso...

    LhWorld哥陪你聊算法
  • 用Supervisor实现进程守护,在异常退出时自动重启

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

    MavenTalker
  • nginx+uWSGI+django+virtualenv+supervisor发布web服务器

    大家都学过了django,用django写了各种功能,写了bbs项目,写了路飞学城。

    超蛋lhy
  • Supervisor进程管理初体验

    setuptools https://pypi.org/project/setuptools/#files

    十毛
  • 大数据干货系列(七)-Storm总结

    本文共计1661字,预计阅读时长十分钟 Storm总结 一、本质 Storm是一个开源分布式实时计算系统,它可以实时可靠地处理流数据。 二、Storm解决了什么...

    企鹅号小编
  • supervisor学习笔记

    easy-install supervisor 或者pip install supervisor

    二狗不要跑
  • Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    hbbliyong
  • CentOS 7部署ASP.NET Core应用程序

    网上看了一下,Linux云服务器还挺贵的,那就只好先用VMware虚拟机搭建个吧。这里我选装的Linux系统版本的是CentOS,Linux系统众多发行版之一,...

    Esofar
  • Ubuntu 18.04 安装使用 Supervisor 进程守护并设置开机自动启动

    最近需要在 Ubuntu 上配置一下进程守护,因为有些进程必须一直运行,否则就比较尴尬。于是网上搜索了一下,比较原生的做法是使用 systemd 进行配置,但是...

    搬砖部落
  • Supervisor管理进程

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过f...

    苏欣
  • 进程监控工具supervisor 启动Mongodb

    进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具。 Supe...

    张善友
  • Linux下Supervisor详细配置

    刺_猬
  • 在Centos7使用superviso

    置顶: 推荐使用pip install supervisor安装最新版supervisor,yum install supervisor最高版本3.1.4,有很...

    py3study
  • supervisor 工具介绍

    supervisor 是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序。supervisor的功能如下:

    用户1278550
  • supervisor进程拉起工具

    Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序...

    98k
  • Linux运维工具Supervisor的安装使用(进程管理工具)

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。目前Sup...

    砸漏

扫码关注云+社区

领取腾讯云代金券