使用 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用列表生成式写嵌套循环的方法

将两个嵌套for循环写成一个列表生成式 如,有一个嵌套列表,a=[[1,2],[3,4],[5,6]],要提取列表里的每一个元素 用for循环处理: for i in a: fo...

python 猴子补丁(monkey patch)

写了一段时间java切回写python偶尔会出现一些小麻烦,比如:在java中自定义对象变成json串很简单,调用一个方法就行,但同样的转换在python中却不太容易实现。在寻找pyth...

python实现三维拟合的方法

如下所示: from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d imp...

Python设计模式之抽象工厂模式

Python设计模式之抽象工厂模式

python面向对象编程入门,我们需要不断学习进步 """抽象工厂模式的实现""" import random class PetShop: """宠物商店""" d...

python函数局部变量、全局变量、递归知识点总结

函数局部变量 全局变量 及其作用域 #简单类型(int str等)变量的局部变量与全局变量及其作用域的关系 name = "xxx" #第一级顶头定义的变量都称为全局变量,其作用域从...