美文网首页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