进程管理工具Supervisor的安装及使用

  需求:有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我需要他能自动重启,保证服务一直在跑着。基于整个需求,一开始想的是起一个脚本,监听该服务的端口,一旦发现端口占用被解除,立即重新执行命令。但是后来发现linux已经有了类似的东西,即今日的主角Supervisor:

  安装(Ubuntu)

sudo apt-get install supervisor

  可以进入paython测试是否能import supervisor 来确定是否已经装好。

  配置

  安装好supervisor后就可以编写配置文件了。配置文件放在/etc/supervisor/conf.d/目录下,最好一个进程对应一个.conf文件。

  配置文件参数说明:

[program: test]
command=xxxxxxxx  ;如果有多条命令,可以写入shell脚本再在这里调用
directory=xxxxx        ;执行命令时切换到的目录
user=xxxx ;执行命令所用的linux用户身份
autorestart=true    ;是否自动重启
autostart=true ;启动supervisor时是否自行启动该程序
redirect_stderr=true    ;如果为true则将stderr发送到stdout相应的log文件中去
stdout_logfile=/path/to/logfile ;制定stdout的输出文件
stdout_logfile_maxbytes=10MB    ;限定logfile的大小, 默认为50M
stdout_logfile_backups=10 ;保存logfile的最大数目,如果操作这个数目则对最早的logfile进行覆盖,默认为10
environment=A="1", B="2" ;设置环境变量,这里可以保存运行程序需要的参数 

  我要的功能非常简单,仅做了如下配置

[program: server]
command=python /home/zxchen/server.py ;
autorestart=true ;
autostart=true ;

  启动服务

sudo supervisorctl reread     #成功提示:server: available
sudo supervisorctl reload     #成功提示:Restarted supervisord
sudo supervisorctl start app  #如果服务没有启动时可以试试这个指令

  检验

lsof -i:端口号 #查看该端口状态
kill -9 PID   #kill掉这个进程

  再次查看端口状态,发现端口上服务的PID已改变,即成功。

时间: 2024-11-05 21:51:58

进程管理工具Supervisor的安装及使用的相关文章

进程管理工具supervisor的安装与使用教程

supervisor是用python写的一个进程管理工具,用来启动,重启,关闭进程.下面这篇文章主要给大家介绍了关于python实现的进程管理工具supervisor的安装与使用的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧. 前言 在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便.如果有一个工具能够实现每台机器上多个进程的简单高效中心化管理将是非常方便的.于是Supervisord工具应运而生.与Su

linux 使用进程管理工具 supervisor

1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具 supervisor需要运行在python2环境,如果需要使用supervisor管理python3的项目,需要借助于虚拟环境 2.安装supervisor: pip install supervisor 3.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf, 当进行到这一步时,终端提示需要 apt install supervisor,如果有该提示

Linux进程管理工具 Supervisord 的安装 及 入门教程

Supervisor是一个进程管理工具,官方的说法: 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor 主要就两个命令: supervisord : supervisor的服务器端部分,启动 supervisor 就是运行这个命令 supervisorctl:启动 supervisor 的命令行窗口. 安装(CentOS): 方式一: yum -y install python-

Linux进程管理工具——supervisor

介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-3.1.3.tar.gz tar -zxvf supervisor-3.1.3.tar.gz cd supervisor-3.1.3 sudo python setup.py install 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf 修改默认配置文件 如需访问wenb界面,修改inet_http_server配置

Python 进程管理工具 Supervisor 使用教程

Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版 supervisor-py3k. 什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式执行的程序,比如一个后台任务,我最常用的是用来启动和管理基于 Tornado 写的 Web 程序. 除此之

进程管理工具supervisor

yum -y install supervisor vim  /etc/supervisord.conf [include]files = supervisord.d/*.conf vim redmine.conf [program:redmine]command=rails sdirectory=/home/www/redmineuser=root supervisorctl start redmine supervisorctl status redmine supervisorctl st

Supervisor安装与配置(Linux/Unix进程管理工具)

http://blog.csdn.net/xyang81/article/details/51555473 https://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000 1,Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统.它可以很方便

supervisor——进程管理工具

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的控制,还可以同时启动.关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动. 1.安装 Supervisor 可以运行在 Linux.Mac OS X 上.如前所述,supervisor 是 Python 编

Supervisor 进程管理工具

Supervisor  进程管理工具时刻检测进程存活状态:可用来启动.重启.关闭进程: Supervisord(supervisor是一个C/S模型的程序,这是server端,对应的有client端:supervisorctl)和应用程序(即我们要管理的程序). 一.下载: https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3