使用 Supervisor 监控 Python3 进程方式
作者:randomparty 发布时间:2021-06-21 11:48:13
首先说明,Supervisor 只能安装在 Python 2.x 环境中!
但是基本上所有的 Linux 都同时预装了 Python 2.x 和 Python 3.x 版本,并且调用 python 命令时默认运行的 Python 2,运行 Python 3 只需要 调用 python3 即可。
博主的 CentOS 上预装了 Python 2.7 和 Python 3.5(后升级到了 3.7),并且将 Python 命令默认链接到 Python 3.7。
因此博主的环境是
python : python 3.7 版本
python2 : python 2.7 版本
pip : pip for 3.7
pip2 : pip for 2.7
安装
pip2 install supervisor
此时 [python2]/bin 中多了一些命令
如 supervisor、supervisorctl、echo_supervidord_conf
可以直接全局运行
配置
输出配置文件内容并重定向到 /etc/supervisord.conf 中
echo_supervisord_conf > /etc/supervisord.conf
打开该文件,配置方式的每一步在注释都写得很清楚了,或者网上找中文说明也可
建议 mkdir /etc/supervisor.d 然后把单独的进程配置独立为一个 xxx.ini,然后在 supervisord.conf 最后 include supervisor.d/*.ini,把所有独立的进程配置文件导入进来,现在的软件配置基本上都是采用这种分模块的方式,这里给出一个我的进程配置以供参考:
关键的一步,在配置 command 时若要使用 Python 3 或是 使用特定 venv 的 Python 执行命令,只需要将命令的完整路径补充完整即可,如我这里使用的就是为 flask 配置的 独立 Python 虚拟环境,配置完成后保存
运行 supervisord 会默认以 /etc/supervisord.conf 作为配置文件后台运行 supervisor 进程管理,也可以 运行 supervisord -c [配置文件路径] 来指定
来源:https://blog.csdn.net/RandomParty/article/details/81184568


猜你喜欢
- 关于NaN值-在能够使用大型数据集训练学习算法之前,我们通常需要先清理数据, 也就是说,我们需要通过某个方法检测并更正数据中的错误。 - 任
- python中函数定义参数有四种形式:def fun1(a,b,c): passdef fun2(a=1,b=2,c=3): &
- 1、下载地址:MySQL官网2、解压解压之后的文件里边是没有data文件的,需要创建一个空文件夹命名为data(后面需要用),并且需要创建一
- 什么叫做SPA单页应用单页Web应用 (single page web application,SPA) ,就是只有一张
- 本文实例讲述了GO语言实现简单的目录复制功能。分享给大家供大家参考。具体实现方法如下:创建一个独立的 goroutine 遍历文件,主进程负
- 治標不治本的就是將php.ini內的reporting部份修改,讓notice不顯示 error_reporting = E_ALL; di
- XPath 的安装以及使用1 . XPath 的介绍刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑
- 背景在我的 《Vue 3 开发企业级音乐 App》课程问答区,有个同学提了个问题,在歌手列表到歌手详情页面到转场动画中,只有进入动画,却没有
- 目录背景什么是协程?什么是 gevent?协程的例子Q&AQ:gevent 无法捕获的耗时A:猴子补丁实践异步 requests 请
- 本文实例讲述了python获取指定网页上所有超链接的方法。分享给大家供大家参考。具体如下:这段python代码通过urllib2抓取网页,然
- 本文实例讲述了Python利用Scrapy框架爬取豆瓣电影。分享给大家供大家参考,具体如下:1、概念Scrapy是一个为了爬取网站数据,提取
- python读取npy文件时,太大不能完全显示,其解决方法当用python读取npy文件时,会遇到npy文件太大,用print函数打印时不能
- 么是约瑟夫问题?约瑟夫问题是一个有趣的数学游戏,游戏规则如下:1、N个人围成一个圈,编号从1开始,依次到N。2、编号为M的游戏参与者开始报数
- 前言为了机器人在寻路的过程中避障并且找到最短距离,我们需要使用一些算法进行路径规划(Path Planning),常用的算法有Djikstr
- 1.安装背景最近想放弃windows编程环境,转到linux。原因就一个字:潮从格式化所有硬盘,到安装win10/ubuntu18.04双系
- 1、使用 runefunc BenchmarkSubstr1(b *testing.B) {s := "bench基准测试,121
- 1. 变量每个变量都存储了一个值在程序中可以随时修改变量,但Python将始终记录变量的最新值message = "Hello H
- 在SQL Server中,提供了通过Exchange或Outlook收发邮件的扩展存储过程。下面简单地介绍一下:一、启动SQL Mail:x
- 说明:本例改编自《Python编程快速上手》。例子很简单我就不多说了 直接上代码,给初学python练手用。给你6次机会猜对一个预先生成好的
- 一、js--->单线程 严格意义上来说,javascript没有多线程的概念,所有的程序都是单线程依次执行的。1、什么是单线