1panel 中文文档 下载 App

让脚本进程挂了自动拉起来的守护方案

解决什么问题

自己跑的脚本、爬虫、队列消费者有个通病:崩了没人拉。写个定时检测脚本也能凑合,但延迟和遗漏都不好控制。工具箱里的「进程守护」基于 Supervisor——Linux 世界最老牌的进程守护工具,进程退出自动重启、日志统一收集、状态一目了然。

装好并初始化

Supervisor 本体要先用系统的包管理器装(RedHat 系装 epel 源后装 supervisor,Debian 系直接 apt 装),官方文档两条路线都给了命令。装完首次使用需要初始化:面板导入 Supervisor 的配置文件位置与服务名称,服务变动后在设置页可以重新初始化。

创建守护进程的参数表单
创建守护进程

创建守护进程

点「创建守护进程」填核心参数:

创建后 Supervisor 接管该进程:崩溃自动拉起,状态实时可见。

日常管理面

列表页对每个守护进程提供启动、停止、重启、日志查看、编辑、删除、修改源文件。两类高频场景:

状态栏还提供对 Supervisor 服务本身的操作:重启、停止、查看日志、改主配置。Supervisor 服务挂了所有守护一起失效,所以偶尔瞄一眼它的状态也是运维动作之一。

和计划任务的分工

守护与计划任务的分工要分清:常驻进程(一直要活着)用守护,周期动作(到点跑一次)用计划任务。把常驻服务塞进计划任务定时拉起是常见误用——间隔内的空窗和重复拉起都会出问题。

延伸阅读