[supervisor] 使用小记(入门教程)
之前到现在很久没有用了,还是从安装说下,做个简单的实验,系统为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] 使用小记(入门教程)的更多相关文章
- mongodb入门教程
title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Content Security Policy 入门教程
阮一峰文章:Content Security Policy 入门教程
- gulp详细入门教程
本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...
- UE4新手引导入门教程
请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf
- ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...
- webpack入门教程之初识loader(二)
上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...
随机推荐
- [AHOI 2016初中组]迷宫
Description 小雪和小可可被困在了一个无限大的迷宫中. 已经知道这个迷宫有 N 堵环状的墙,如果把整个迷宫看作是一个二维平面,那么每一堵墙都是平面上一个圆.任意两个圆不相交,不重合,也不会相 ...
- [SDOI2008]Sandy的卡片
题目描述 Sandy和Sue的热衷于收集干脆面中的卡片. 然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型. 每一张卡片都由一些数字进行标记,第i张卡片的 ...
- poj3728 商务旅行
[Description]小 T 要经常进行商务旅行,他所在的国家有 N 个城镇,标号为 1,2,3,...,N,这 N 个城镇构成一棵树.每个城镇可以买入和卖出货物,同一城镇买入和卖出的价格一样,小 ...
- [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~ ...
- BigData-‘基于代价优化’究竟是怎么一回事?
本文由 网易云发布. 本文具体讨论了Join基础算法的一种优化方案 – Runtime Filter,在本文最后还引申地聊了聊谓词 下推技术.同时,在本文文章开头,笔者引出了两个问题,SQL执行引 ...
- 怎样使用Secure CRT查看vcenter和esxi主机的日志文件(转)
对ESXI主机的日志管理对于故障诊断和合规性至关重要.Esxi主机的日志通过syslog工具进行管理的,在默认的情况下,日志文件存储在主机的scratch分区中(/scratch/log/).scra ...
- fastDFS 安装 配置 使用
fastDFS 安装 配置 使用 关于安装 本文采用的是源码的安装方式,其他安装方式请自行百度 简单介绍 1.背景 FastDFS是一款开源的.分布式文件系统(Distributed File Sys ...
- mysql 索引列为Null的走不走索引及null在统计时的问题
要尽可能地把字段定义为 NOT NULL,即使应用程序无须保存 NULL(没有值),也有许多表包含了可空列(Nullable Column)这仅仅是因为它为默认选项.除非真的要保存 NULL,否则就把 ...
- 网络不能上网但能ping通处理
同事电脑不能上网,经过检查可以排除网线和网络问题,默认网关以及网页地址都能ping通,从网上搜索说是LSP问题,但是根据其操作方式修复,还是无效. 最后,不知道怎么捣鼓的,问题解决了. 操作流程: 1 ...
- Java IO流笔记
File 类 ps:注意file的delete失败可能是输入输出流还在用这个file Java实现简单文件管理 package fileDemo; import java.io.File; impor ...