supervisor是一个linux下的进程管理工具,有时须要开发一些后台服务类的程序。这类程序通常不能由于意外挂掉。所以最好能在出现意外挂掉的情况下可以重新启动,继续服务。

之前我一直採用创建daemon,即守护进程的方式来实现,再通过其它进程监控,近期发现了这个后台进程管理神器。通过supervisor,可以将命令行的控制台程序轻松变为daemon,而且在意外挂掉时,supervisor可以自己主动帮我们重新启动。

系统环境 ubuntu14.04,其它发行版linux安装配置大体同样

以下以一个小样例展示supervisor的简单使用

如果我们在/root/test文件夹下,要运行一个test.py文件,并希望它成为守护进程在后台运行,而且在挂掉时可以被即时重新启动,尽可能的继续服务。

首先安装supervisor

sudo apt-get install supervisor

也能够通过pip安装

pip install supervisor

也可通过easy_install

easy_install supervisor

配置

进入/etc/supervisor/conf.d文件夹

加入一个test.conf配置文件来配置我们的进程

[program:test]
command=python test.py
directory=/root/test
autorestart=true
user=root

当中[program:test]指定了该配置的名字,即后面通过supervisorctl start [配置进程名] 中的配置进程名

command指定了运行的命令,这里是一个python文件。我们通过python test.py运行

directory制定了test.py文件所在的路径

autorestart指定进程意外终止时可以被重新启动

user指定了执行该程序的用户

你也能够直接将上面的配置直接写入到/etc/supervisor/supervisord.conf文件里,效果与上面一致。

重载配置文件

增加配置文件之后,我们须要让supervisor又一次读取配置文件,以便我们的配置可以生效

supervisorctl update

删除配置文件,也要运行 supervisorctl update

启动进程

supervisorctl start test

当中test即为配置中写入的[program:test]。该命令的效果与python test.py一致,仅仅是让其以守护进程方式执行,而且进程意外终止时会被supervisor重新启动

因为在配置文件里。指定了该进程意外终止会被重新启动。因此我们不能通过杀掉该进程的方法来结束进程。而是通过supervisor

终止进程

supervisorctl stop test

重新启动进程

supervisorctl restart test

很多其它关于supervisor的内容能够參考官方文档 http://supervisord.org/

后台进程管理工具---supervisor的更多相关文章

  1. linux后台进程管理工具supervisor

    Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启. su ...

  2. 进程管理工具supervisor

    1. 简介 supervisor有两个组件:supervisord和supervisorctl,组成了client/server结构. supervisord负责读入配置文件,然后supervisor ...

  3. Linux进程管理工具Supervisor的安装配置

    目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...

  4. linux 后台进程管理利器supervisor

    Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启.   ...

  5. Linux进程管理工具——supervisor

    介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-.tar.gz .tar.gz cd supervisor- sudo pytho ...

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

    Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2 ...

  7. linux 使用进程管理工具 supervisor

    1.supervisor是使用python进行开发的运行在linux服务器上的进程管理工具 老版本的supervisor需要运行在python2环境,如果需要使用supervisor管理python3 ...

  8. python脚步管理工具supervisor=3.3.0的安装、使用。基于linux系统。

    一.安装相关包 sudo apt-get install python-pip       #python的安装包的工具 sudo apt-get install python-dev       # ...

  9. 进程管理工具 Supervisor

    要想在终端后台常驻进程,首先想到的是在命令后加 & 符号,来达到隐藏程序在后台的目的,尽管看起来进程已经在后台运行了,实际上终端会话关闭时进程还是会被 kill 掉,这种问题一般是采用搭配 n ...

随机推荐

  1. 20181019 记录 window.setTimeout('dofunction()',2000); - layui form 表单提交 事件 - F11全屏 事件 window.onresize

    1 延时事件 window.setTimeout('dofunction()',2000); 函数外面要有引号 如果没有引号 就不能延时执行 应该是内容进行eval,所以外层不是传递字符串的话,外层函 ...

  2. 【转】MFC 自定义edit 限制输入十六进制内容 响应复制粘贴全选剪切的功能

    参考地址:MFC 自定义edit 限制输入内容 响应复制粘贴全选剪切的功能   Ctrl组合键ASCII码 ^Z代表Ctrl+z                     ASCII值 控制字符  AS ...

  3. 文件描述符 文件操作 <> open 文件句柄

    #! /usr/bin/perl use strict;use warnings; =head1print "\n---------------------------------test_ ...

  4. thinkphp5验证码处理

    1.确定项目目录>vendor>topthink>think-captcha目录存在 2.在config中添加验证码配置 //验证码配置 'captcha' => [ // 验 ...

  5. wampserver更改语言步骤

    wampserver更改语言步骤的具体步骤: 右击屏幕右下角图标>选择language>选择更改的语言

  6. RNN,LSTM,GRU基本原理的个人理解

    记录一下对RNN,LSTM,GRU基本原理(正向过程以及简单的反向过程)的个人理解 RNN Recurrent Neural Networks,循环神经网络 (注意区别于recursive neura ...

  7. 51nod 1021 石子归并 - 区间dp(经典)

    题目地址:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1021 经典区间dp,dp[i][j] 表示将从 i 到 j 堆 ...

  8. NOIP2016玩具迷题

    题目大意就不说了,反正水水就过了. 主要在于找01关系. 代码: #include<cstdio> int n,m; struct node { ]; int f; }a[]; int m ...

  9. assert.notStrictEqual()详解

    严格不相等测试,由不全等运算符确定(===). const assert = require('assert'); assert.notStrictEqual(1, 2); // OK assert. ...

  10. python Django 相关学习笔记

    Django框架 pip3 install django 命令: # 创建Django程序 django-admin startproject mysite # 进入程序目录 cd mysite # ...