进程管理工具 supervisor 简介及使用技巧

目录

前言

背景

优点

简单

进程组

有效性

安装

添加程序

HTTP 服务

感谢


前言

Supervisor是一款开源的进程管理工具,可以用于管理Python、 shell、 C等程序。它可以实现进程的自动启动、重启、监控等功能,并可以方便地实现进程的异步启动和自动化管理。

背景

经常碰到要跑一些守护进程。平常我的做法是开一个 tmux 软件或者 screen,然后启动软件。如果有其他人问,我则会建议用

nohup your-program &>nohup.log &

这种方式。

可是这种做法毕竟不是长久之计,机器重启或者不小心 kill 了某个进程,后台运行的这个进程可能就不小心死掉了。
后来开源界的大牛建议我用 supervisor。尝试之后,简直是如获至宝。作为一个存在了长达 10 年多的进程管理软件,他已经相当成熟。到如今我用这个软件已经超过 1 年了,希望借这篇文章给大家普及下这个超赞的软件。

Supervisor 是一个客户端服务器系统,包含有两个程序

  1. Supervisor 的 server 部分称为 supervisord。主要负责管理子进程,响应客户端的命令,log 子进程的输出,创建和处理不同的事件
  2. Supervisor 的命令行客户端 supervisorctl。它可以与不同的 supervisord 进程进行通信,获取子进程信息,管理子进程

supervisor 的官网地址是 Supervisor: A Process Control System — Supervisor 4.2.5 documentation 我的大部分资料也是来自这里。

优点

相比较传统的方式,supervisor 用很多好处

简单

通常管理 linux 进程的时候,一般来说都需要自己编写一个能够实现进程 start/stop/restart/reload 功能的脚本,然后丢到/etc/init.d/下面。这么做有很多不好的地方,第一我们要编写这个脚本,这就很耗时耗力了。第二,当这个进程挂掉的时候,linux 不会自动重启它的,想要自动重启的话,我们还要自己写一个监控重启脚本。而,supervisor 则可以完美的解决这些问题。

进程组

supervisor 可以对进程组统一管理,也就是说咱们可以把需要管理的进程写到一个组里面,然后我们把这个组作为一个对象进行管理&

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值