首页 > 系统相关 >关于supervisor的supervisord和supervisorctl及supervisor进程管理中的常用命令

关于supervisor的supervisord和supervisorctl及supervisor进程管理中的常用命令

时间:2024-05-24 09:56:59浏览次数:15  
标签:supervisor supervisord 配置文件 supervisorctl etc conf

一、关于supervisor的supervisord和supervisorctl

    之前写过几篇supervisor的文章,自己也尝试使用了多次,今天在一台服务器上执行:supervisorctl发现提示unix:///tmp/supervisor.sock no such file

[dev@dev ~]$ sudo supervisorctl 
unix:///tmp/supervisor.sock no such file
supervisor> 

    这个错误显示根本没有unix套接字这个文件,可能是进程没有启动,也可能是进程启动了但是没有打开套接字,但默认是开启了的,这说明启动的supervisor很可能未使用默认的配置文件/etc/supervisord.conf。但ps查看supervisord的进程发现启动进程的命令中也未用-c指定配置文件,最后发现supervisord使用配置文件的原则是优先使用安装目录下的supervisord.conf,如果没有就找安装目录下etc目录中的supervisord.conf,如果再没有就会使用默认的/etc/supervisord.conf,即寻找顺序如下:

$CWD/supervisord.conf
$CWD/etc/supervisord.conf
/etc/supervisord.conf

    感觉supervisord这个东西如果在启动命令里没有使用-c写出.conf路径,同时也不知道supervisord的安装目录的话,还真不好找到具体的安装目录(通过/proc/$pid也未查找到,当然find之类的除外)。最后如果supervisord没有安装在默认的目录里的话,使用supervisorctl就要么到安装目录下去执行此命令,也可以在supervisorctl后添加-c指定supervisord.conf的路径。

二、 supervisor进程管理中的常用命令

    supervisor是一个非常小巧的进程监控服务,安装后第一步启动supervisord服务,启动这个服务后就只需要使用supervisorctl启动supervisor的命令行窗口。supervisor分为两部分,一部分是服务端部分,即supervisord服务。启动:supervisord -c /etc/supervisord.conf ,另一部分就是控制窗口supervisorctl部分。直接执行:supervisorctl 即可。

    这里注意/etc/supervisord.conf 是默认的配置文件路径,执行supervisord 时默认加载这个配置文件,如果启动时执行加载了其它路径的配置文件,例如:

/usr/bin/supervisord -c /home/username/supervisor/supervisord.conf

    则在执行supervisortctl时也要添加添加配置文件路径,如:supervisorctl -c /home/username/supervisor/supervisord.conf,否则会报错(因为它会去寻找/etc/supervisord.conf,里面的配置可能不一样,例如配置的SEVERurl,如果serverurl的路径不一致时就会报错)

[supervisorctl]
serverurl=/var/tmp/supervisor.sock ; use a unix:// URL  for a unix socket
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as http_username if set
;password=123                ; should be same as http_password if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")

    会报错:

[root@kermit ~]# supervisorctl
error: <type 'exceptions.ValueError'>, Unknown protocol for serverurl /var/tmp/supervisor.sock: file: /usr/local/python27/lib/python2.7/site-packages/supervisor-3.3.0-py2.7.egg/supervisor/xmlrpc.py line: 481
supervisor> 

     进入之后可通过help命令查看supervisorctl下可执行的所有命令,如下:这些命令也可以直接在linux命令行下执行,使用supervisorctl 命令 参数。

supervisor> help
default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail   
avail  fg        pid   remove  shutdown  status  update 
clear  maintail  quit  reread  signal    stop    version

    常用的一些命令如下:

update 			#更新新的配置到supervisord,如果配置文件有更改需要增加新的进程入supervisord可使用。
reload 			#重新启动配置中的所有程序
start program_name  	#启动某个进程
stop program_name  	#停止某个进程
restart program_name    #重启某个进程
stop all  		#停止全部进程
#注意:
#1,显示用stop停止掉的进程,用reload或者update都不会自动重启。
#2,上面的命令可以使用supervisorctl进入后在命令窗口下执行,也可直接在linux命令行使用supervisorctl+命令参数执行。

标签:supervisor,supervisord,配置文件,supervisorctl,etc,conf
From: https://blog.csdn.net/weixin_47792780/article/details/139079025

相关文章

  • linux supervisor 安装使用
    目录linuxsupervisor安装使用安装配置文件其他参数详情启动supervisor其他命令添加被守护的进程java案例python案例vue3+ts案例redis案例tomcat案例守护进程其他参数详情linuxsupervisor安装使用supervisor与systemd不同,systemd的作用是将服务管理起来,方便开机自启动,或者启......
  • 进程监控神器Supervisor 转载
    作者:Ais137https://juejin.cn/post/73544069807843737981.概述Supervisor是一个C/S架构的进程监控与管理工具,本文主要介绍其基本用法和部分高级特性,用于解决部署持久化进程的稳定性问题。2.问题场景在实际的工作中,往往会有部署持久化进程的需求,比如接口服务进程,又或者......
  • CentOS+Django+uWSGI+Celery+Supervisor配置
    目录背景目录安装配置Supervisor1.生成配置文件2.修改配置文件3.创建进程文件创建uwsgi.conf进程文件创建celery进程文件启动supervisor启动supervisor查看所有进程的状态常用命令配置文件详解背景使用Django开发的项目需要部署到CentOS中,项目中使用了Celery和uWSGI......
  • centos7 安装supervisor教程以及常见问题
    目录简介Supervisor是一个进程控制系统。它是一个C/S系统(注意:其提供WEB接口给用户查询和控制)。它允许用户去监控和控制在类UNIX系统的进程。它的目标与launchd、daemontools和runit有些相似。但是与它们不一样的是、它不是作为init(进程号pid是1)运行。它是......
  • Centos7 中使用Supervisor守护进程
    配置supervisor实现进程守护1.安装supervisoryuminstallSupervisor 2.启动服务supervisord-c/etc/supervisord.conf 进入cd/etc目录找到supervisord.conf配置文件和supervisord.d文件夹,使用vim编辑supervisord.conf文件,拉到最底部我们可以看到 fil......
  • 服务器确保已安装了 EPEL 软件源,依然无法安装 supervisor
    如果你已经安装了EPEL软件源但仍无法安装Supervisor,可能是因为Supervisor并不在EPEL软件源中。在这种情况下,你可以尝试通过Python的包管理工具pip来安装Supervisor。请按照以下步骤操作:确保已安装Python和pip。如果尚未安装,可以使用以下命令安装:sudoyuminstall......
  • Supervisor 安装与使用
    一、Supervisor介绍Supervisor是一个用Python编写的进程管理工具,它可以用于监控和控制类UNIX操作系统上的多个进程。它是一个客户端/服务器系统,其中Supervisor的服务器端称为supervisord,负责启动管理的子进程、响应客户端命令、重启崩溃或退出的子进程、记录子进程的st......
  • Ubuntu服务器使用 Daphne + Nginx + supervisor部署Django项目
    视频:https://www.bilibili.com/video/BV1e6421G7uM/?vd_source=36191bed2c30378060ff2efe6831b331Django从3.0版开始加入对ASGI的支持,使Django开始具有异步功能。截止目前的5.0版,对异步支持逐步也越来越好,相信在未来的版本中异步将会支持的更加完善。所以说,我们也需要适时的......
  • supervisor命令小记
    查看已启动服务状态supervisorctlstatus查看某个服务状态supervisorctlstatus进程名启动某个进程supervisorctlstart进程名重启某个进程supervisorctlrestart进程启动名停止某个进程supervisorctlstop进程名修改或添加某个服务配置文件后,使其......
  • Ubuntu 22.04.1 LTS 安装 supervisor
    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进......