美文网首页Javaweb程序员
Ubuntu下Supervisor安装、配置和使用,解决后台被中

Ubuntu下Supervisor安装、配置和使用,解决后台被中

作者: Liuzz25 | 来源:发表于2019-03-13 15:45 被阅读22次

前言

服务器上运行项目时遇到某些脚本需要后台进程运行,并保证不被中断,之前都是通过nohup、&来实现,但还是会遇到终端的情况,很烦,所以找到了Supervisor。关于Supervisor网上的介绍大致如下:

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。

废话不多说了,开始教程。

1、安装supervisor

apt-get install supervisor

2、生成默认的配置文件

echo_supervisord_conf > /etc/supervisor/supervisord.conf

3、修改默认配置文件,指定配置文件规则及路径

修改配置文件最后部分,去掉","并设置为如下所示。
详细的配置及说明,请参考官方文档介绍。

[include]
files = /etc/supervisor/conf.d/*.conf    ;可以指定一个或多个以.conf结束的配置文件

4、配置管理进程

创建进程配置文件(以KCPTUN为例)

vim /etc/supervisor/conf.d/kcptun.conf 

配置内容如下:

[program:kcptun]
command = /home/kcptun/server_linux_amd64 -l :20013 -t 127.0.0.1:9310 --key Lzz_013942 --crypt salsa20 --mode fast
user= root
autostart = true
autorestart = true

5、启动Supervisor服务

supervisord -c /etc/supervisor/supervisord.conf

6、控制进程

supervisord启动成功后,可以通过supervisorctl客户端控制进程,启动、停止、重启。

supervisord

运行supervisorctl命令,不加参数,会进入supervisor客户端的交互终端,并会列出当前所管理的所有进程。

supervisorctl常用命令:

supervisorctl stop program_name 停止某个进程
supervisorctl start program_name 启动某个进程
supervisorctl restart program_name 重启某个进程
supervisorctl stop all 停止全部进程
supervisorctl reload 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

相关文章

网友评论

    本文标题:Ubuntu下Supervisor安装、配置和使用,解决后台被中

    本文链接:https://www.haomeiwen.com/subject/qlctmqtx.html