Python-进程管理Supervisord

Supervisord是一个用Python实现的进程管理工具,可以很方便地启动、重启、关闭、查看进程(不仅仅是Python进程)。除了对单个进程的控制,它还可以同时操作多个进程。除此之外它还能监控进程,当进程由于某种原因崩溃或者误操作杀掉后,自动重启并发送事件通知。

特征

  • 简单:Supervisord通过简单的INI风格的配置文件进行配置,易于学习。它提供了许多每个进程选项,使您的生活更轻松,如重新启动失败的进程和自动日志轮换
  • 集中:Supervisord为您提供一个开始、停止和监控流程的地方。过程可以单独或分组控制。您可以配置Supervisor以提供本地或远程命令行和Web页面
  • 高效:Supervisord通过fork/exec启动其子进程,子进程不在后台运行。操作系统在进程终止时立即发送信号给Supervisord,而不像一些依赖
  • 拓展:Supervisord有一个简单的事件通知协议,用任何语言编写的程序都可以用来监视它,还有一个用于控制XML_RPC的接口,它还可以由Python开发者利用的扩展点构建
  • 兼容:Supervisord可以工作在除Windows以外的任何地方,它在Linux、Mac OS X,Solaris和FreeBSD上进行了测试和支持。它完全用Python编写,因此安装不需要C编译器。
  • 久经考验:虽然Supervisord今天非常积极的开发,但并不是新的软件。Supervisord已经存在多年,并在许多服务器上使用。

Supervisord组件

Supervisord包含如下4种组件:

  • Supervisord:服务端程序,它的主要功能是启动Supervisord服务及其管理的子进程,记录日志、重启崩溃的进程等。
  • Supervisorctl:命令行客户端程序,它提供一个类似Shell的接口,通过UNIX域套接字或者TCP/IP套接字使用XML_RPC协议与Supervisord进程进行数据通信。它的主要功能就是管理(启动、关闭、重启、查看状态等)子进程
  • Web Server:实现了在界面上管理进程,还能查看进程日志和清除日志。Web Server其实是通过XML_RPC来实现的,可以向Supervisord请求数据。它配置在[inet_http_server]块里面。
  • XML_RPC接口:可以通过XML_RPC协议对Web Server进行远程调用,达到和Supervisord以及Web Server一样的管理功能。

安装

apt-get install supervisor

Supervisor安装完成后,运行echo_supervisord_conf,将打印一个示例Supervisor配置文件到您的终端。
或者输出到指定文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值