linux进程管理工具:supervisor
Posted 龙叔运维
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux进程管理工具:supervisor相关的知识,希望对你有一定的参考价值。
各种各样的程序运行情况中,或多或少都会有一些服务是用脚本跑起来的,我们通常的做法一般都是让其在后台运行,例如使用nohup,&等命令。
而这样的方法并不十分可靠,所以在这里推荐一个非常好用的进程管理工具:supervisor,它可以很可靠的管理linux上的各种进程,甚至当进程挂掉,会帮你自动拉起来。
1、安装
yum install supervisor
或者
apt-get install supervisor
2、配置
supervisor有两类配置文件,主配置文件和进程配置文件。
2.1、主配置文件
默认路径:/etc/supervisord.conf
这个主配置文件一般不用动,需要管理进程的话,给进程单独创建一个配置文件就好。
2.2、进程配置文件
默认路径:/etc/supervisord.d/*.ini (默认是ini后缀,可以在主配置文件中修改)
每个进程的管理配置可以在主配置文件中直接添加,但是建议每个进程单独创建一个配置文件,这样方便管理维护
举例
[program:test]【项目名,进程名】
command = java -jar /data/test/test-service-server-test.jar 【运行进程的命令】
directory = /data/test 【进程文件目录】
autostart=true【是否随着supervisor启动而启动,默认true】
autorestart=ture 【是否自动启动,程序退出会自动拉起】
user = root【运行进程的用户】
startsecs = 3【进程启动多少秒之后,如果进程状态是running,则我们认为启动成功,默认值为1】
redirect_stderr = true【把stderr重定向到stdout,默认 false】
stdout_logfile_maxbytes = 50MB【stdout日志文件大小,默认 50MB】
stdout_logfile_backups = 10【stdout日志文件备份数】
stdout_logfile = /data/test/logs/test.log 【日志输入路径】
3、使用
3.1、启动
supervisord -c /etc/supervisord.conf (-c 指定主配置文件)
centos服务器还可以如下操作:
systemctl start supervisord.service (加载默认配置文件 /etc/supervisord.conf
)
systemctl stop supervisord.service (停止)
systemctl enable supervisord.service (加入开机启动)
3.2、管理进程命令
supervisorctl status //查看所有进程的状态
supervisorctl stop test //停止test (如果是all 则是操作全部管理的进程)
supervisorctl start test //启动test(如果是all 则是操作全部管理的进程)
supervisorctl restart test //重启test(如果是all 则是操作全部管理的进程)
supervisorctl update //配置文件修改后使用该命令加载新的配置
supervisorctl reload //重新启动配置中的所有程序
4、图形界面
在主进程配置文件中配置下面内容(默认是注释掉的),然后重启就可以使用图形管理界面来管理进程了。
[inet_http_server]
port=0.0.0.0:9001
username=admin
password=admin
然后访问 http:IP:9001 就可以了
欢迎关注我的公众号:龙叔运维
持续分享运维经验
以上是关于linux进程管理工具:supervisor的主要内容,如果未能解决你的问题,请参考以下文章