之前到现在很久没有用了,还是从安装说下,做个简单的实验,系统为Ubuntu14.04

快速安装配置

sudo pip_python install supervisor
sudo echo_supervisord_conf > /etc/supervisord.conf  # 会报错  permission denied: /etc/supervisord.conf,可以使用下面的语句
sudo su - root -c "echo_supervisord_conf > /etc/supervisord.conf"

这样就生成了一个原始的配置文件,但是有些需要改动下才好使

sudo vim /etc/supervisord.conf

...
[unix_http_server]
file=/var/run/supervisor.sock   ; (the path to the socket file)
...

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
...

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket
...

[include]
files = /etc/supervisord.d/*.ini

这里要注意 unix_http_server 跟 supervisorctl中的 sock 文件目录要一致

然后创建目录

sudo su - root -c “mkdir -p /etc/supervisord.d”

之后进程管理的脚本放到supervisord.d就行了

下面就用一个简单的例子来说明

先写一个测试用的脚本
#!/usr/bin/python
#-*- coding:utf-8 -*-
############################
#File Name: somejob.py
#Author: orangleliu
#Mail: orangleliu@gmail.com
#Created Time: 2015-04-15 11:08:13
#License: MIT
############################

import sys, time

while True:
    print "pyserver runing %s"%time.ctime()
    sys.stdout.flush()
    time.sleep(10)
配置一个进程管理脚本 放在 /etc/supervisord.d 目录下

somejob.ini

[program:somejob]
command=/usr/bin/python /home/lzz/temp/super/somejob.py
directroy=/home/lzz/temp/super/
autostart=true
autorestart=true
startretries=3
user=lzz
stdout_logfile=/home/lzz/temp/super/%(program_name)s.log
stderr_logfile=/home/lzz/temp/super/%(program_name)s.log
操作
  • supervisord 启动
sudo /usr/local/bin/supervisord -c /etc/supervisord.conf
lzz@ubuntu:supervisord.d$ ps -ef|grep super
root      5709     1  0 11:30 ?        00:00:00 /usr/bin/python /usr/local/bin/supervisord -c /etc/supervisord.conf
lzz       5710  5709  0 11:30 ?        00:00:00 /usr/bin/python /home/lzz/temp/super/somejob.py

看到我的job进程已经启动了,检查日志文件, 也已经正常

lzz@ubuntu:super$ tail somejob.log
pyserver runing Wed Apr 15 11:31:47 2015
pyserver runing Wed Apr 15 11:31:57 2015
pyserver runing Wed Apr 15 11:32:07 2015
  • supervisord 重载
supervisorctl reread
supervisorctl update

进程查看

lzz@ubuntu:super$ sudo supervisorctl
somejob                          RUNNING   pid 6021, uptime 0:00:13
  • 进程重载 修改下job 程序,看看效果
sudo supervisorctl reload somejob

查看日志

pyserver runing Wed Apr 15 11:44:22 2015
hi
pyserver runing Wed Apr 15 11:44:32 2015
hi
pyserver runing Wed Apr 15 11:44:38 2015
pyserver runing Wed Apr 15 11:44:48 2015
  • 进程关闭
sudo supervisorctl stop somejob  #启动这里改为start

查看进程

lzz@ubuntu:super$ ps -ef|grep super
root      6020     1  0 11:41 ?        00:00:00 /usr/bin/python /usr/local/bin/supervisord -c /etc/supervisord.conf

还有一部分是web界面的对进程的管理,还有开机启动等,这些可以自行查看文档 或者 google

参考:

声明:

本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/45057377

作者orangleliu 采用署名-非商业性使用-相同方式共享协议

[supervisor] 使用小记(入门教程)的更多相关文章

  1. mongodb入门教程

    title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Content Security Policy 入门教程

    阮一峰文章:Content Security Policy 入门教程

  6. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  7. UE4新手引导入门教程

    请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf

  8. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  9. webpack入门教程之初识loader(二)

    上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...

随机推荐

  1. [AHOI 2016初中组]迷宫

    Description 小雪和小可可被困在了一个无限大的迷宫中. 已经知道这个迷宫有 N 堵环状的墙,如果把整个迷宫看作是一个二维平面,那么每一堵墙都是平面上一个圆.任意两个圆不相交,不重合,也不会相 ...

  2. [SDOI2008]Sandy的卡片

    题目描述 Sandy和Sue的热衷于收集干脆面中的卡片. 然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型. 每一张卡片都由一些数字进行标记,第i张卡片的 ...

  3. poj3728 商务旅行

    [Description]小 T 要经常进行商务旅行,他所在的国家有 N 个城镇,标号为 1,2,3,...,N,这 N 个城镇构成一棵树.每个城镇可以买入和卖出货物,同一城镇买入和卖出的价格一样,小 ...

  4. [Educational Codeforces Round 7]F. The Sum of the k-th Powers

    FallDream dalao找的插值练习题 题目大意:给定n,k,求Σi^k (i=1~n),对1e9+7取模.(n<=10^9,k<=10^6) 思路:令f(n)=Σi^k (i=1~ ...

  5. BigData-‘基于代价优化’究竟是怎么一回事?

    本文由  网易云发布. 本文具体讨论了Join基础算法的一种优化方案  – Runtime Filter,在本文最后还引申地聊了聊谓词 下推技术.同时,在本文文章开头,笔者引出了两个问题,SQL执行引 ...

  6. 怎样使用Secure CRT查看vcenter和esxi主机的日志文件(转)

    对ESXI主机的日志管理对于故障诊断和合规性至关重要.Esxi主机的日志通过syslog工具进行管理的,在默认的情况下,日志文件存储在主机的scratch分区中(/scratch/log/).scra ...

  7. fastDFS 安装 配置 使用

    fastDFS 安装 配置 使用 关于安装 本文采用的是源码的安装方式,其他安装方式请自行百度 简单介绍 1.背景 FastDFS是一款开源的.分布式文件系统(Distributed File Sys ...

  8. mysql 索引列为Null的走不走索引及null在统计时的问题

    要尽可能地把字段定义为 NOT NULL,即使应用程序无须保存 NULL(没有值),也有许多表包含了可空列(Nullable Column)这仅仅是因为它为默认选项.除非真的要保存 NULL,否则就把 ...

  9. 网络不能上网但能ping通处理

    同事电脑不能上网,经过检查可以排除网线和网络问题,默认网关以及网页地址都能ping通,从网上搜索说是LSP问题,但是根据其操作方式修复,还是无效. 最后,不知道怎么捣鼓的,问题解决了. 操作流程: 1 ...

  10. Java IO流笔记

    File 类 ps:注意file的delete失败可能是输入输出流还在用这个file Java实现简单文件管理 package fileDemo; import java.io.File; impor ...