Supervisor进程管理与开机自动启动

您所在的位置:网站首页 mac取消开机自动启动程序命令 Supervisor进程管理与开机自动启动

Supervisor进程管理与开机自动启动

2024-07-08 16:35| 来源: 网络整理| 查看: 265

简介

Supervisor是一个客户端/服务器系统,允许其用户控制类似UNIX的操作系统上的许多进程。 Supervisor已经过测试,可以运行在Linux(Ubuntu),Mac OS X(10.4、10.5、10.6)和Solaris(对于Intel为10)和FreeBSD 6.1上。在大多数UNIX系统上,它可能会正常工作。 Supervisor完全不会在任何Windows版本下运行。 Supervisor旨在在Python 3版本3.4或更高版本以及Python 2版本2.7上工作。 该过程在Ubuntu18.04下进行,其他版本相似

1.Supervisor安装 推荐安装方式 sudo apt-get install supervisor yum源安装 yum install supervisor pip安装 pip install supervisor 查看是否安装成成功 echo_supervisord_conf

出现以下内存则安装成功 在这里插入图片描述

2.Supervisor配置 初始化配置文件 创建自己的配置文件 mkdir /usr/supervisor 此时需要将创建好的supervisor文件夹授权 sudo chmod -R 777 supervisor 拷贝配置文件修改 echo_supervisord_conf > /usr/supervisor/supervisord.conf 管理配置文件

这里可以在/usr/supervisor/supervisord.conf文件后面追加,也可以另外写(推荐另外写)

新建配置文件文件夹 mkdir /usr/supervisor/supervisord.d/ 读取配置文件夹下所有.conf文件 将/usr/supervisor/supervisord.conf文件中的以下部分取消注释(使用分号";"注释) [include] files = /usr/supervisor/supervisord.d/*.conf 为每一个需要管理的进程设置配置文件

例如:要启动的进程为home/user/test.sh,设置配置文件为

[program:test] command=bash home/user/test.sh; 启动命令 priority=1 ; 数字越高,优先级越高(对不同进程而言) numprocs=1 ; 启动几个进程 autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码 stopsignal=KILL ; 用来杀死进程的信号 stopwaitsecs=10 ; 发送SIGKILL前的等待时间 redirect_stderr=true ; 重定向stderr到stdout 3.Supervisor使用 查看Supervisor是否正在运行 ps -A | grep supervisord 启动supervisor并更新supervisor的配置 sudo supervisord -c /usr/supervisor/supervisord.conf 杀死supervisor进程 sudo kill [supervisord进程id] 4.Supervisor开机自动启动 件/usr/lib/systemd/system/ 新建文件supervisord.service,并添加配置内容 [Unit] Description=Process Monitoring and Control Daemon After=rc-local.service nss-user-lookup.target [Service] Type=forking ExecStart=/usr/bin/supervisord -c /usr/supervisor/supervisord.conf ;开机启动时执行 ExecStop=/usr/bin/supervisord shutdown ExecReload=/usr/bin/supervisord reload killMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target 设置开机启动 systemctl enable supervisord 验证是否开机启动 systemctl is-enabled supervisord 5.Supervisor常用命令 supervisorctl status //查看所有进程的状态 supervisorctl update //配置文件修改后使用该命令加载新的配置 supervisorctl reload //重新启动配置中的所有程序


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3