Supervisor是麒麟操作系统上用于关键服务进程持续监控与自动重启的稳定守护工具,支持pip3或系统包管理器安装,需配置Python环境、生成配置文件、定义程序参数并启用systemd服务。

如果您在麒麟操作系统上需要对关键服务进程进行持续监控与自动重启管理,则Supervisor 是一个稳定可靠的进程守护工具。以下是针对麒麟OS(基于Linux内核,兼容Debian/Ubuntu或CentOS系包管理)安装并配置Supervisor 的具体操作步骤:
一、确认系统环境与依赖基础
Supervisor 依赖 Python 2.7 或 Python 3.4+ 运行环境,在麒麟OS中需先验证Python版本及pip工具是否可用。部分麒麟OS版本默认未预装pip或使用较旧Python版本,需提前补全基础依赖以确保后续安装成功。
1、打开终端,执行 python3 --version 查看Python 3版本;若返回“command not found”,需先安装Python3。
2、执行 which pip3 检查pip3是否存在;若无输出,运行 sudo apt update && sudo apt install python3-pip -y(适用于apt源麒麟OS)或 sudo yum install python3-pip -y(适用于yum源麒麟OS)。
3、升级pip3至最新版:执行 sudo pip3 install --upgrade pip。
二、安装Supervisor(方法一:使用pip3安装)
该方法适用于所有麒麟OS版本,不依赖系统软件源,可获取较新稳定版Supervisor(如4.2.5),且支持自定义安装路径与配置。
1、执行 sudo pip3 install supervisor 安装Supervisor主程序及配套工具。
2、验证安装:运行 supervisord --version,输出类似 4.2.5 即表示成功。
3、生成默认配置文件:执行 echo_supervisord_conf > /tmp/supervisord.conf,随后将该文件复制为系统级配置:sudo cp /tmp/supervisord.conf /etc/supervisord.conf。
三、安装Supervisor(方法二:使用系统包管理器安装)
该方法适配麒麟OS官方仓库已收录Supervisor的版本(如部分V10 SP1之后版本),安装过程更轻量,但版本可能滞后,且配置路径由包管理器约定。
1、对于基于Debian/Ubuntu的麒麟OS(如Kylin V10桌面版),执行 sudo apt install supervisor -y。
2、对于基于CentOS/RHEL的麒麟OS(如Kylin Server V10),执行 sudo yum install epel-release -y && sudo yum install supervisor -y。
3、安装完成后,主配置文件位于 /etc/supervisor/conf.d/ 目录下,系统级配置为 /etc/supervisor/supervisord.conf。
四、配置Supervisor守护进程
Supervisor通过配置文件定义被守护程序的启动命令、工作目录、日志路径及异常响应策略。需手动创建独立的程序配置片段,并置于conf.d目录下以实现模块化管理。
1、创建程序配置目录(若不存在):sudo mkdir -p /etc/supervisor/conf.d。
2、新建示例程序配置文件:sudo nano /etc/supervisor/conf.d/myapp.conf。
3、写入以下内容(以守护一个Python Flask应用为例):
[program:myflask]
command=/usr/bin/python3 /opt/myapp/app.py
directory=/opt/myapp
autostart=true
autorestart=true
startretries=3
user=kylinuser
redirect_stderr=true
stdout_logfile=/var/log/supervisor/myflask.log
五、启动并启用Supervisor服务
Supervisor以守护进程方式运行,需通过systemd或supervisord命令启动,并设置开机自启,确保系统重启后进程守护持续生效。
1、重新加载配置:执行 sudo supervisorctl reread 识别新增的myapp.conf。
2、更新进程列表:执行 sudo supervisorctl update 启动新配置的程序。
3、检查状态:执行 sudo supervisorctl status,输出中应显示 myflask RUNNING。
4、启用systemd服务(如使用pip安装方式):执行 sudo systemctl enable supervisord 并 sudo systemctl start supervisord。

















