欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > Linux Supervisor 进程管理

Linux Supervisor 进程管理

2024/10/24 5:16:34 来源:https://blog.csdn.net/m0_37559973/article/details/140487413  浏览:    关键词:Linux Supervisor 进程管理

目录

一、Supervisor介绍

二、核心组件

2.1 supervisord

2.2 supervisorctl

2.3 Web Server

三、安装Supervisor

3.1安装要求

3.2安装方式

3.3 修改Web Server端口(可选)

3.4启动服务

四、Supervisor常用命令

4.1 supervisord 命令行选项

4.2 supervisorctl 命令行选项

五、监控服务

5.1 创建进程管理配置文件

5.2 重新加载配置文件

5.3 管控服务


一、Supervisor介绍

        Supervisor是一个开源的进程管理工具,主要用于在类Unix系统(包括Linux和macOS等)上监控和管理长时间运行的进程(守护进程)。Supervisor通过一个简易的INI风格的配置文件提供了诸多针对单个进程的选项进行配置,比如自动重启失败的进程和自动日志轮转。同时,Supervisor还提供本地或远程的命令行和Web界面来启动、停止和监控进程。

二、核心组件

2.1 supervisord

        Supervisor 的服务器组件。主要负责在其启动时启动子程序,响应来自客户端的命令,重启崩溃或退出的子进程,记录其子进程的标准输出和标准错误输出,以及生成和处理对应子进程生命周期各个阶段的“事件”。

2.2 supervisorctl

        Supervisor 的命令行客户端组件。提供了一个类似shell的界面,用于访问supervisord提供的功能。从supervisorctl,用户可以连接到不同的supervisord进程(一次一个),获取受其控制的子进程状态,停止和启动supervisord的子进程,以及获取正在运行的进程列表。

2.3 Web Server

        通过启动supervisord以互联网套接字为目标,可以使用一个(功能精简的)基于Web的用户界面,其功能与supervisorctl相似,可以通过浏览器访问。

三、安装Supervisor

3.1安装要求

  • Supervisor已经在多个操作系统上进行了测试,它在大多数UNIX系统上都能正常工作
  • Supervisor完全不支持在任何版本的Windows下运行
  • Supervisor设计为能在Python 3.4或更高版本,以及Python 2.7版本上工作

3.2安装方式

        Supervisor 可以安装:pip install

pip install supervisor

        yum 安装 supervisor

yum -y install epel-release
yum -y install supervisor

3.3 修改Web Server端口(可选)

 vi /etc/supervisord.conf

[inet_http_server]        ; inet (TCP) server disabled by default
port=*:9001                 ; (ip_address:port specifier, *:port for all iface)
username=admin        ; (default is no username (open server))
password=123456      ; (default is no password (open server))

3.4启动服务

systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动 supervisord 服务

systemctl restart supervisord 重启服务
systemctl status supervisord # 查看 supervisord 服务状态
ps -ef|grep supervisord # 查看是否存在 supervisord 进程

四、Supervisor常用命令

4.1 supervisord 命令行选项

supervisord [选项]

4.2 supervisorctl 命令行选项

supervisorctl [选项]

五、监控服务

        以监控mysql服务为例。

5.1 创建进程管理配置文件

vi /etc/supervisord.d/mysqld.ini

[program:mysqld]
command=/usr/sbin/mysqld
directory=/var/lib/mysql
user=mysql
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/mysqld_supervisor.log

5.2 重新加载配置文件

sudo supervisorctl reread

5.3 管控服务

sudo supervisorctl start mysqld
sudo supervisorctl stop mysqld
sudo supervisorctl restart mysqld

sudo supervisorctl status mysqld

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com