使用 Supervisor 监控 Python3 进程方式

yipeiwu_com7年前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中使用bidict模块双向字典结构的奇技淫巧

快速入门 模块提供三个类来处理一对一映射类型的一些操作 'bidict', 'inverted', 'namedbidict' >>> import bidict...

使用Python神器对付12306变态验证码

使用Python神器对付12306变态验证码

临近春节,【听图阁-专注于Python设计】小编带领大家用Python抢火车票! 首先我们需要splinter 安装: pip install splinter -i http://py...

python Django框架实现自定义表单提交

除了使用Django内置表单,有时往往我们需要自定义表单。对于自定义表单Post方式提交往往会带来由CSRF(跨站请求伪造)产生的错误"CSRF verification failed....

pyqt5 实现多窗口跳转的方法

今天在做pyqt5的多页面跳转时遇到问题,一点击button按钮,程序会崩溃。在网上查了下,应该是当窗口A调用窗口B的时候,两个窗口不能是同一类型。我写的时候把A、B同时写成了QWidg...

Python线程之定位与销毁的实现

Python线程之定位与销毁的实现

背景 开工前我就觉得有什么不太对劲,感觉要背锅。这可不,上班第三天就捅锅了。 我们有个了不起的后台程序,可以动态加载模块,并以线程方式运行,通过这种形式实现插件的功能。而模块更新时候,后...