Karp 的技术博客

Supervisor 是一个进程管理工具,允许用户监控和控制多个进程。它适用于 UNIX/Linux 系统,特别是在需要管理多个后台任务时非常有用。

1. Supervisor 概述

  • 功能:可以启动、停止、重启和监控进程。
  • 配置:通过配置文件定义要管理的进程。
  • WEB 界面:提供 Web 界面来监控进程状态。

2. 安装 Supervisor

在 Ubuntu 或 Debian 系统上,可以使用以下命令安装:

sudo apt update
sudo apt install supervisor
Bash

在 CentOS 或 RHEL 系统上:

sudo yum install epel-release
sudo yum install supervisor
Bash

3. Supervisor 配置文件

Supervisor 的主要配置文件通常位于 /etc/supervisor/supervisord.conf。可以在此文件中设置全局选项和进程配置。

3.1 创建进程配置

创建一个新的配置文件,例如 /etc/supervisor/conf.d/myprogram.conf,内容如下:

[program:myprogram]
command=/path/to/your/program  # 要执行的命令
autostart=true                  # 启动时自动启动
autorestart=true                # 进程退出后自动重启
stderr_logfile=/var/log/myprogram.err.log  # 错误日志
stdout_logfile=/var/log/myprogram.out.log  # 输出日志
Ini

3.2 配置说明

  • command:要执行的命令。
  • autostart:程序是否在 Supervisor 启动时自动启动。
  • autorestart:程序退出后是否自动重启。
  • stderr_logfile:标准错误输出的日志文件。
  • stdout_logfile:标准输出的日志文件。

4. 启动和管理 Supervisor

4.1 启动 Supervisor

使用以下命令启动 Supervisor:

sudo service supervisor start
Bash

4.2 更新 Supervisor 配置

在添加或修改配置后,使用以下命令更新 Supervisor:

sudo supervisorctl reread       # 重新读取配置文件
sudo supervisorctl update       # 更新配置
Bash

4.3 管理进程

使用 supervisorctl 命令管理进程:

  • 查看状态

    sudo supervisorctl status
    Bash
  • 启动进程

    sudo supervisorctl start myprogram
    Bash
  • 停止进程

    sudo supervisorctl stop myprogram
    Bash
  • 重启进程

    sudo supervisorctl restart myprogram
    Bash

5. 使用 Web 界面(可选)

Supervisor 提供 Web 界面,便于监控和管理进程。要启用 Web 界面,请在 supervisord.conf 中添加以下内容:

[inet_http_server]
port=*:9001            # 监听的端口
username=user          # 用户名
password=pass          # 密码
Ini

重启 Supervisor 后,您可以通过 http://your_server_ip:9001 访问 Web 界面。

工具

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2024年10月21日 07:09
0

目录

来自 《使用 Supervisor 进行进程监控》