使用 Supervisor 监控 Python3 进程方式

yipeiwu_com6年前Python基础

首先说明,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 [配置文件路径] 来指定

以上这篇使用 Supervisor 监控 Python3 进程方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python多线程、锁、event事件机制的简单使用

线程和进程 1、线程共享创建它的进程的地址空间,进程有自己的地址空间 2、线程可以访问进程所有的数据,线程可以相互访问 3、线程之间的数据是独立的 4、子进程复制线程的数据 5、子进...

Python中使用插入排序算法的简单分析与代码示例

问题描述 将一组随机排列的数字重新按照从小到大的顺序排列。 插入算法 每次从数组中取一个数字,与现有数字比较并插入适当位置。 如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,...

python绘制评估优化算法性能的测试函数

python绘制评估优化算法性能的测试函数

测试函数主要是用来评估优化算法特性的,这里我用python3绘制了部分测试函数的图像。具体的测试函数可以结合维基百科来了解。想要显示某个测试函数的图片把代码结尾对应的注释去掉即可,具体代...

python中多层嵌套列表的拆分方法

场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成: def splitlist(list): ''' 现...

python ChainMap 合并字典的实现步骤

字典是Python语言中唯一的映射类型。 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。 字典对象是可变的,它是一个容器类...