目录

  • 安装和配置
  • 常用命令介绍
  • 关闭supervisor

安装和配置

直接使用pip安装即可

sudo pip install supervisor

安装完成后,选择一个常用目录(用于存放supervisor配置信息和输出日志),此目录在下文中用<sv_path>表示,执行:

# 在该目录下生成配置文件'my.conf'
cd <sv_path>
echo_supervisord_conf > ./my.conf

<sv_path>下创建两个文件夹,分别为supervisorlog(此名称随便起),前者用于存放supervisor.socksupervisor.pid,后者用于存放进程的日志:

cd <sv_path>
mkdir supervisor
mkdir log

然后,使用vim打开my.conf文件(该文件中,分号是注释,为了简洁,就不展示注释掉的语句了),进行修改:

[unix_http_server]
; 这里修改为前面建立的路径
file=<sv_path>/supervisor/supervisor.sock   ; the path to the socket file[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface[supervisord]
; 这里修改为前面建立的路径
logfile=<sv_path>/log/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info                ; log level; default info; others: debug,warn,trace
; 这里修改为前面建立的路径
pidfile=<sv_path>/supervisor/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false               ; start in foreground if true; default false
silent=false                 ; no logs to stdout if true; default false
minfds=1024                  ; min. avail startup file descriptors; default 1024
minprocs=200                 ; min. avail process descriptors;default 200[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface[supervisorctl]
; 这里修改为前面建立的路径
serverurl=unix://<sv_path>/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket

接下来,在my.conf文件中,配置需要守护的进程:

; program后面的auto_connect是进程名称,可自定义
[program:auto_connect]
command=python xxx.py                          ; the program (relative uses PATH, can take args)
directory=<your_code_path>                     ; directory to cwd to before exec (def no cwd)
autostart=true                                 ; start at supervisord start (default: true)
startretries=99999                             ; max # of serial start failures when starting (default 3)
redirect_stderr=true                           ; redirect proc stderr to stdout (default false)
stdout_logfile=<sv_path>/log/auto_connect.log  ; stdout log path, NONE for none; default AUTO[program:natapp]
; 注意,这种不在PATH里的命令,要使用绝对路径
command=<your_natapp_command_path>/natapp
autostart=true
startretries=99999
redirect_stderr=true
stdout_logfile=<sv_path>//log/natapp.log[program:frp]
command=<your_frp_command_path>/frpc -c <your_frp_ini_path>/frpc.ini
autostart=true
startretries=99999
redirect_stderr=true
stdout_logfile=<sv_path>/log/frp.log

接下来,启动supervisor即可:

# 这里的my.conf建议使用绝对路径
supervisord -c <sv_path>/my.conf

常用命令介绍

  • supervisorctl update
    假如改动了my.conf,执行此命令后,会将有改动的进程重启,无改动的进程无影响
  • supervisorctl reload
    假如改动了my.conf,执行此命令后,所有进程都将重启
  • supervisorctl status
    查看所有守护进程的运行状态
  • supervisorctl start program_name
    启动名为program_name的进程
  • supervisorctl restart program_name
    重启名为program_name的进程
  • supervisorctl stop program_name
    关闭名为program_name的进程
  • supervisorctl stop all
    关闭全部进程

关闭supervisor

# 通过ps命令找到之前运行的supervisor的pid,假设为sv_pid
ps -ef | grep supervisor
kill -s 9 sv_pid
# 执行unlink命令,否则再次启动supervisor时会报错
unlink <sv_path>/supervisor/supervisor.sock

supervisor使用指南相关推荐

  1. python3 supervisor_python3-django+uwsgi+supervisor+nginx跳坑指南(记录)

    首先运行django项目:在项目目录内: python manage.py runserver 0.0.0.0:8000 外部服务器访问:http://www.xxx.com:8000/ 可以正常运行 ...

  2. 《NodeJS开发指南》第五章微博实例开发总结

    所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...

  3. 《CCNP SWITCH 300-115认证考试指南》——1.3节模块化网络的设计

    本节书摘来自异步社区<CCNP SWITCH 300-115认证考试指南>一书中的第1章,第1.3节模块化网络的设计,作者 [美]David Hucaby(戴维 胡卡比),更多章节内容可以 ...

  4. Xen和虚拟化技术学习指南

    1. 引言 现代计算机具有足够强大的能力来利用技术支持多个虚拟机(VM: virtual machines),并且在每个虚拟机上各自运行单独的操作系统实例.这直接导致了虚拟机技术发展的又一个春天.在本 ...

  5. 《node.js开发指南》读后感

    <node.js开发指南>这部只有180多页的书,我花了一个多月的业余时间算是粗略看完了.中间因为公司项目的加班,中断了几次.大大拖累进度,现在空出来时间,写一点自己的小小感想吧. 先从缺 ...

  6. 《Node.js开发指南》读书笔记

    继续学学node.js.翻开书首先被惊到=.=:作者BYVoid是清华大学2010级本科--同样是2010级本科,我真是无语凝噎,大学浪费了好多时间.不过过去的已经过去了,接下来好好努力提高才好,加油 ...

  7. Linux 内核编程指南

    Linux 内核编程指南   PeterJay Salzman MichaelBurian OriPomerantz Copyright© 2001 Peter Jay Salzman 2007−05 ...

  8. 七、CISSP 认证考试指南(AIO)第 7 版术语表

    9.1 A 9.1.1 access 访问 主体查看.更改客体或与客体通信的能力.访问支持信息在主体和客体之间的流动. 9.1.2 access control 访问控制 限制只有被授权主体才能访问资 ...

  9. supervisor的使用教程

    原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...

最新文章

  1. 高频数据交换下Flutter与ReactNative的对比
  2. 十九. Python基础(19)--异常
  3. linux源码编译emqttd,emqtt编译及简单测试记录
  4. 图解分布式架构的发展和演进 | 技术头条
  5. 白话算法(6) 散列表(Hash Table) 从理论到实用(下)
  6. css修改span位置_简历完善,CSS布局与定位,笔记
  7. Hadoop生态圈-Hbase的API常见操作
  8. 三年JAVA开发经验如何做到年薪35万
  9. STM32程序下载的三种方式
  10. canfd收不到数据_CAN FD网络的通信距离问题分析
  11. ubuntu16.04下安装teamview12版本
  12. cvtColor封装
  13. 微信小程序授权登陆源码
  14. 时间管理类APP分析:拇指时间
  15. 无敌2_大师级鱼丸云吞终极海鲜面
  16. 联想小新24/27寸一体机 酷睿版2022款评测
  17. 罗切斯特大学排名计算机排名,罗切斯特大学计算机工程硕士排名第35(2020年TFE Times排名)...
  18. redis排查读取超时、连接超时
  19. 鸿蒙系统手势导航,4D 成像雷达、400+TOPS 算力计算平台、鸿蒙 OS,Huawei Inside 继续放大招!...
  20. 微信扫码背后的图像超分辨率技术

热门文章

  1. PyTorch 官方教程发布,限时免费开放!
  2. VC++下的OpenGL编程
  3. 约翰霍姆金斯大学_the I-STAR Lab
  4. SpringBoot中的自定义路径怎么配置/根目录配置方法
  5. Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
  6. 任务和特权级保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记27
  7. maven生命周期lifecycle和plugins介绍
  8. mysql8.0限制用户只能访问指定数据库,限制用户只有某种权限
  9. 跳表(skipList)
  10. 汽车车牌识别系统实现(四)--字符识别+代码实现