Linux-后台进程常驻管理SuperVisor
SuperVisor安装与实践
闲话
最近经常会遇到需要将一些任务长期运行的场景,需要令一些后台进程常驻。手上的开发机虽然启动方便,但是毕竟网络环境不稳定,经常需要花精力去维护。正巧手边有一台闲置的主机,就直接装了个linux用来跑各种东西。家里云
问题
我的目的是跑一个python脚本,并且伴随机器启动时自动启动。在linux的众多进程托管工具中,结合普遍性,考虑了systemd以及supervisor。之后又经过了一系列横向对比,还是决定使用supervisor来处理。
- Systemd配置相比supervisor更加复杂,不易上手
- supervior存在着进程组的管理,可以对多个进程统一管理
由于是自己个人用的东西,性能占用也并不高,所以对于性能并没有做过多考量。
环境
操作系统: Ubuntu LTS 22.04
系统架构: x86_64
配置用户: root
安装
首先需要安装supervisor, 其为python编写的程序,可通过以下方式安装
1 | 安装supervisor |
此时supervisor便安装完成,如果无法install,需自行更换apt镜像源
指令
supervisor有如下指令可使用
supervisorctl
:进入命令行交互界面,可直接输入子命令进行管理。supervisorctl reload
:重新加载配置文件,并重启supervisord及所有自动启动的程序。supervisorctl restart {PROGRAM< ...>}|all
:重启程序,all表示重启所有程序。supervisorctl start {PROGRAM< ...>}|all
:启动程序,all表示启动所有程序。supervisorctl status <{PROGRAM< ...>}|all>
:查看程序状态,如为all或不指定则查看所有程序状态。supervisorctl stop {PROGRAM< ...>}|all
:停止程序,all表示停止所有程序。supervisorctl update
:重新加载配置文件,并启动新配置指定的程序。
配置
安装好后,便可以进行任务的配置,supervisor的任务的配置文件都位于:/etc/supervisor/conf.d/
任务的配置文件应为: <task-name>.conf
此处我使用自己的脚本配置文件
1 | [program:week-bot] # program:[name] 指定该任务的名称为week-bot |
**注: 此处logfile配置的文件夹需存在**
启动
保存好改配置文件后,即可启动服务,执行:
1 | 刷新任务配置 |
服务正常启动,日志正常写入,配置完成。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.