supervisor是一款进程管理工具,当想让应用随着开机启动,或者在应用崩溃之后自启动的时候,supervisor就派上了用场.

广泛应用于服务器中,用于引导控制程序的启动

安装好supervisor之后,可以新建一个/etc/supervisord.conf文件,该文件的内容通过通echo_supervisord_conf指令可以看到.

通过以下指令可以启动supervisor(若不指定配置文件,会到特定的几个目录中去寻找):

supervisord -c /etc/supervisord.conf

在配置文件里,可以看到;注释的内容和托管进程的配置写法。

在[include]之后可以包含自己所写的配置文件路径,这样当supervisor启动之后会按照配置文件启动其他进程:

[include]
files = /etc/supervisor/*.conf

例如,在supervisor下的配置文件cat.conf中,可以这样写(忽略注释):

[program:theprogramname]  ;进程应用名称
;command=/bin/cat ; 进程启动命令,涉及命令应使用绝对路径
;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
;numprocs= ; number of processes copies to start (def )
;directory=/tmp ; 在哪个目录中执行命令
;umask= ; umask for process (default None)
;priority= ; the relative start priority (default )
;autostart=true ;当supervisor启动之后,本进程也启动
;startsecs= ; 启动n秒之后没有异常,就算成功启动
;startretries= ; 若没有成功启动,需要重试几次
;autorestart=unexpected ; 当supervisor崩溃之后,设置为true这个进程会自动重启
;exitcodes=, ; 'expected' exit codes used with autorestart (default ,)
;stopsignal=QUIT ; signal used to kill process (default TERM)
;stopwaitsecs= ; max num secs to wait b4 SIGKILL (default )
;stopasgroup=false ; send stop signal to the UNIX process group (default false)
;killasgroup=false ; SIGKILL the UNIX process group (def false)
;user=chrism ; 用户名
;redirect_stderr=true ; redirect proc stderr to stdout (default false)
;stdout_logfile=/a/path ; 执行命令后,结果输出的文件(该文件需事先touch)
;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;stdout_logfile_backups= ; # of stdout logfile backups ( means none, default )
;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default )
;stdout_events_enabled=false ; emit events on stdout writes (default false)
;stderr_logfile=/a/path ; 执行命令后,错误信息的输出文件
;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;stderr_logfile_backups= ; # of stderr logfile backups ( means none, default )
;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default )
;stderr_events_enabled=false ; emit events on stderr writes (default false)
;environment=A="",B="" ; process environment additions (def no adds)
;serverurl=AUTO ; override serverurl computation (childutils)

如果不显式指定,则使用默认配置

可以配置使supervisor随着主机的启动而启动,这样就能实现主机启动->supervisor启动->应用程序启动的传递。

关于supervisorctl:

supervisorctl是supervisord的客户端,可以指定使用与supervisord相同的配置文件启动(若不指定也会到特定目录中去寻找配置文件):

supervisorctl -c /etc/supervisord.conf

在supervisorctl中的一些常用命令如下:

status:查看程序状态

stop/restart/start xxx :停止/重启/启动 xxx

update xxx 应用修改xxx后的配置文件

supervisor进程管理工具的使用的更多相关文章

  1. Supervisor 进程管理工具

    简介: Supervisor 进程管理工具 一.安装 shell > yum -y install python-pip shell > pip install supervisor # ...

  2. linux(centos)下安装supervisor进程管理工具

    在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...

  3. supervisor进程管理工具

    Supervisor 一个python写的进程管理工具,用来启动.关闭.重启进程,可以同时控制多个进程. 安装: pip install supervisor 配置: 通过配置文件来满足自己的需求 配 ...

  4. python之supervisor进程管理工具

    supervisor是python写的一个管理进程运行的工具,可以很方便的监听.启动.停止.重启一个或多个进程:有了supervisor后,就不用字节写启动和监听的shell脚本了,非常方便. sup ...

  5. CentOS 6.3安装配置supervisor进程管理工具

    1. Supervisor是一个C/S系统,它可以在类unix操作系统让用户来监视和控制后台服务进程的数量,一个很重要的功能就是监控服务器的主要后台进程,并在出现问题是自动重启. 2. 根据服务器上的 ...

  6. 进程管理工具之supervisor[详解]

    原文链接:https://blog.csdn.net/weixin_42390791/article/details/88866237 一.问题背景1.背景​   如何才能让一个进程摆脱终端,获得相对 ...

  7. Linux进程管理工具——supervisor

    介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-.tar.gz .tar.gz cd supervisor- sudo pytho ...

  8. supervisor python开发的进程管理工具

    Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的 ...

  9. Python 进程管理工具 Supervisor 使用教程

    Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2 ...

随机推荐

  1. NetBeans运行项目报错

    1.错误描述 严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start co ...

  2. Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定

    1.错误描述 Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定 2.错误原因 3.解决办法

  3. hdu5556 Land of Farms

    我对于题目的一种理解 改造农场 1.建新农场 在空的点选 2.重建旧农场 选一个点属于这个农场的地方都要选 最后的农场都不能相连 所以枚举旧农场的个数并进行二分图匹配 #include<bits ...

  4. spring的PathVariable和value={}小技巧(shiro项目中来的三)

    <property name="successUrl" value="/main/index" /> @RequestMapping(value=& ...

  5. java io 节点流和处理流

    JAVA IO操作总结:节点流和处理流 JAVA IO操作总结--节点流和处理流  按照流是否直接与特定的地方(如磁盘.内存.设备等)相连,分为节点流和处理流两类. 节点流:可以从或向一个特定的地方( ...

  6. spring mvc 之@requestmapping

    引言: 前段时间项目中用到了REST风格来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/j ...

  7. 【小白学爬虫连载(10)】–如何用Python实现模拟登陆网站

    Python如何实现模拟登陆爬取Python实现模拟登陆的方式简单来说有三种:一.采用post请求提交表单的方式实现.二.利用浏览器登陆网站记录登陆成功后的cookies,采用get的请求方式,传入c ...

  8. [COGS2701]:动态树

    题面 传送门 Sol LCT维护子树和 # include <bits/stdc++.h> # define IL inline # define RG register # define ...

  9. poi导入Excel,数字科学记数法转换

    在这里分享一下使用poi 导入Excel时 把数字转换为科学记数法的解决方法: 就是使用DecimalFormat对 i 进行了格式化 结果为:

  10. eclipse的常用快捷键和一些基本设置!!!

    对于一些比较繁琐简单的代码没必要天天敲,为了提高效率,还是需要使用一些快捷键的:下面就说了一些比较基本的. alt+shift+s+c     无参构造器 alt+shift+s+O    有参构造器 ...