Supervisor:强大的进程管理神器

Supervisor是一款用Python编写的进程管理系统,它允许用户监控和控制类Unix系统上的多个进程。通过将普通命令行进程转换为后台守护进程,并在进程异常退出时自动重启,Supervisor为系统管理员提供了极大的便利。无论是管理单个应用还是整个服务器集群,Supervisor都能提供稳定、可靠的进程管理解决方案。

2024-12-20 15:07:46

Supervisor

安装supervisor

python install  supervisor

验证是否安装成功

supervisorctl -h

创建配置文件目录

mkdir /etv/supervisor

创建默认配置文件

echo_supervisord_conf > /etc/supervisord.conf

修改配置文件

 vi /etc/supervisord.conf

#修改http服务器存储文件
[unix_http_server]
file=/var/run/supervisor.sock   ; the path to the socket file

#修改log文件存储文件
[supervisord]
logfile=/var/run/supervisord.log ; main log file; default $CWD/supervisord.log

#修改sock服务器存储文件
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket


#增加自定义文件
[include]
files = /etc/supervisor/*.conf

启动supervisord

supervisord -c /etc/supervisord.conf

查看启动状态

supervisorctl status

创建sp_demo.sh脚本

cd ~
mkdir /demo
cd /demo
vi sp_demo.sh
#!/bin/bash
while :
do
    echo `date '+%Y-%m-%d %H:%m:%S'`
    sleep 1
done

创建配置文件

cd /etc/supervisor/ #切换到配置文件目录
vi cabbage_test.conf   #新建编辑配置文件,文件内容如下
[program:cabbage-test] #服务名称
directory=/www/cabbage-test #执行目录
command=sh /demo/sp_demo.sh #执行命令
autostart=true  #自动开始
autorestart=true #自动重启
user=root        #权限
environment=HOME="/root",USER="root"  #环境变量
stderr_logfile=/var/log/cabbage-test.err.log  #错误log
stdout_logfile=/var/log/cabbage-test.out.log   #输出log

更新配置文件

supervisorctl update

配置文件已增加到容器中

查看当前状态

supervisorctl status

image.png

查看输出结果

tail  -f /var/log/cabbage-test.out.log

image.png

停止进程

supervisorctl stop cabbage-test

image.png

评论

静谧以待,您的评论将是点睛之笔

撰写首个评论,启程你的前端奇妙之旅

is a Wiki for programming enthusiasts and professionals, organizing knowledge on programming.

Connect With Me

I have a fair amount of knowledge of Javascript, Typescript, VueJs, and Nuxt. If you have an interesting idea, either open source or paid let's connect.

Sent Mail
© 2024-2025 © . All rights reserved.