如果不想使用 systemd,也可以使用 supervisor 管理后台 Python 进程。
11.5 使用 supervisor 管理 Python 脚本(备选方案)
子章节
安装 supervisor
# CentOS / RHEL
sudo yum install -y epel-release
sudo yum install -y supervisor
# Ubuntu / Debian
sudo apt update
sudo apt install -y supervisor
配置 MyService
sudo vim /etc/supervisord.d/MyService.ini
[program:MyService]
command=/usr/bin/python3 /opt/myservice/app.py
directory=/opt/myservice
user=root
autostart=true
autorestart=true
startsecs=5
startretries=3
stdout_logfile=/var/log/myservice_stdout.log
stderr_logfile=/var/log/myservice_stderr.log
environment=PYTHONUNBUFFERED=1
管理 supervisor 服务
sudo supervisorctl reread # 读取新配置
sudo supervisorctl update # 更新配置
sudo supervisorctl start MyService # 启动
sudo supervisorctl stop MyService # 停止
sudo supervisorctl restart MyService # 重启
sudo supervisorctl status # 查看所有进程状态
sudo supervisorctl tail -f MyService # 查看实时日志