Supervisor使用教程

文章目录

    • @[toc] Supervisor使用教程
      • 平台要求
    • 安装supervisor
    • 本文测试的时候是使用Linux的yum安装的(其它方式未做测试)
    • 加入系统守护进行

Supervisor使用教程

在项目中,经常有脚本需要常驻运行的需求。以PHP脚本为例,最简单的方式是:

$ nohup php swoole.php &

在项目中,经常有脚本需要常驻运行的需求。或者Go为例,最简单的方式是:

$ nohup ./casdoor &

这样能保证当前终端被关闭或者按CRTL+C后,脚本仍在后台运行。但是没法保证脚本异常后自动重启等。

Supervisor 是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

官网介绍:http://supervisord.org/
引自官网

本文所用环境:

  • CentOS release 7.9
  • Python 2.7.5
  • pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)
  • supervisor 3.4.0

平台要求


引自官网

Supervisor已经过测试,可以在Linux(Ubuntu 9.10),Mac OS X(10.4 / 10.5 / 10.6)和Solaris(10 for Intel)和FreeBSD 6.1上运行。它可能在大多数UNIX系统上都能正常工作。在任何版本的Windows下,Supervisor 都不会运行。Supervisor 可以使用Python 2.4或更高版本,但不能在任何版本的Python 3下使用。

我使用的环境:

$ python -V
Python 2.6.6

安装supervisor

Linux安装命令:

 $ sudo yum install supervisor

判断是否安装成功:

 $ supervisord --version

显示版本号,即表示安装成功。

本文测试的时候是使用Linux的yum安装的(其它方式未做测试)

安装后配置文件生成:

1、在centos7.9版本通过yum安装后,需要运行

$ systemctl start supervisord

2、使用yum安装后,supervisor的主配置文件在:

/etc/supervisord.conf

supervisor的配置文件在最后一行引入,子进程配置文件在:

/etc/supervisord.d/*.ini

这样就可以支持子配置文件,而不用改动主配置文件。

加入系统守护进行

1、进入supervisor的配置目录

cd /etc/supervisord.d

如果没有该文件夹进行创建

2、配置守护进程 创建casdoor.ini文件,并配置。

[program:casdoor]
directory = 你的程序目录
command =你的程序执行命令
autostart = true
autorestart=true
user = 启动该程序的用户
redirect_stderr = true
stdout_logfile = 日志地址

go程序配置示例:

[program:casdoor]
directory = /root/go/sso.golangblogs.com
command =/root/go/sso.golangblogs.com/casdoor
autostart = true
autorestart=true
user = root
redirect_stderr = true
stdout_logfile = /var/log/supervisor/casdoor.log

配置完成之后,重启supervisor

systemctl restart supervisord #重启方式一
supervisorctl reload#重启方式二

最后记得配置开机自启

sudo systemctl enable supervisord

至此就是实现了supervisor进行常驻内存了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/481182.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式锁的实现原理

作者:来自 vivo 互联网服务器团队- Xu Yaoming 介绍分布式锁的实现原理。 一、分布式锁概述 分布式锁,顾名思义,就是在分布式环境下使用的锁。众所周知,在并发编程中,我们经常需要借助并发控制工具,如 mu…

[Java]微服务配置管理

介绍 代码拆分为微服务后, 每个服务都有自己的配置文件, 而这些配置文件中有很多重复的配置, 并且配置变化后需要重启服务, 才能生效, 这样就会影响开发体验和效率 配置管理服务可以帮助我们集中管理公共的配置, 并且nacos就可以实现配置管理服务 配置共享 我们可以把微服务共…

File类,IO流,字节输入流,字节输出流,字符输出流,字符入流,缓存流,对象流,序列化ID

1.File类 1.文件创建 创建的是文件还是文件夹,跟调用的方法有关。和后缀无关。 //创建File对象 \: window中使用\.第一个表示转移符。 而我们在linux或mac使用/. java语言跨平台操作。 window系统中也可以使用/ File filenew File("E:/hhhh/a.txt"); …

AMD的AI芯片Instinct系列介绍

AMD最强AI芯片发布! 在旧金山举行的Advancing AI 2024大会上,AMD推出Instinct MI325X AI加速器(以下简称MI325X),直接与英伟达的Blackwell芯片正面交锋。 现场展示的数据显示,与英伟达H200的集成平台H200 …

第六届国际科技创新(IAECST 2024)暨第四届物流系统与交通运输(LSTT 2024)

重要信息 会议官网:www.lstt.org 大会时间:2024年12月6-8日 大会地点:中国-广州 简介 第六届国际科技创新暨第四届物流系统与交通运输国际(LSTT 2024)将于2024年12月6-8日在广州举办,这是一个集中探讨…

Docker desktop 改变存储位置

项目场景: 在windows下,使用docker desktop是使用docker最简单直接的方式。但是,这毕竟是一个可视化的界面,使用起来还是和linux环境下的版本有很大的区别。 例如,使用docker desktop,会默认将镜像以及容…

多线程 03 实现方式

继续变强 主流框架都看了 springcloud , redis ,mq ,nginx ,docker , 也有实操 继续看多线程,和 大数据 请假面试 本来要拿离职补偿和失业金,结果公司要加薪续签,哎,反正不忙,要是主动离职我就亏了,那就…

Android 图形系统之三:SurfaceControl

在 Android 系统中,SurfaceControl 是一个关键的类,用于管理应用窗口和屏幕上的显示内容。它与 SurfaceFlinger 紧密交互,通过 BufferQueue 提供高效的图形缓冲区管理能力。SurfaceControl 是 Android 的显示架构中不可或缺的部分&#xff0c…

Spring的事务管理

tx标签用于配置事务管理用于声明和配置事务的相关属性 transaction-manager指定一个事务管理器的引用,用于管理事务的生命周期。propagation指定事务的传播属性,决定了在嵌套事务中如何处理事务。isolation指定事务的隔离级别,用于控制事务之…

【VUE3】npm : 无法加载文件 D:\Program\nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本。

npm : 无法加载文件 D:\Program\nodejs\npm.ps1。未对文件 D:\Program\nodejs\npm.ps1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_ Execution_Policies。…

品优购PC端静态页面(列表页、详情页、登录页)

首页可转至品优购静态首页制作查看,接下来继续制作品优购静态页面(列表页、详情页、登录页)。 一、列表页 品优购列表页制作准备工作 列表页面是新的页面,我们需要新建页面文件 list.html因为列表页的头部和底部基本一致&#xff…

前端页面或弹窗在线预览文件的N种方式

需求:后端返回给前端一个地址后,在前端页面上或则在弹框中显示在线的文档、表格、图片、pdf、video等等,嵌入到前端页面 方式一: 使用vue-office 地址:vue-office简介 | vue-office 个人感觉这个插件是最好用的&#x…

成都睿明智科技有限公司抖音电商服务的新引擎

在这个短视频风起云涌的时代,抖音不仅成为了人们休闲娱乐的首选,更是商家们竞相角逐的电商新蓝海。在这片充满机遇与挑战的海域中,成都睿明智科技有限公司如同一艘装备精良的航船,引领着众多企业向抖音电商的深水区进发。今天&…

独家|京东调整职级序列体系

原有的M、P、T、S主序列将正式合并为新的专业主序列P。 作者|文昌龙 编辑|杨舟 据「市象」独家获悉,京东已在近日在内部宣布对职级序列体系进行调整,将原有的M、P、T、S主序列正式合并为新的专业主序列P,合并后的职级体系将沿用原有专业序…

免费开源的微信开发框架

请求参数 Header 参数 export interface ApifoxModel {"X-GEWE-TOKEN": string;[property: string]: any; } Body 参数application/json export interface ApifoxModel {/*** 设备ID*/appId: string;/*** 是否允许*/enabled: boolean;[property: string]: any; }…

在内网工作时,如何使用 vscode remote ssh 去连接内网服务器?

来源:https://stackoverflow.com/questions/56671520/how-can-i-install-vscode-server-in-linux-offline 看这个回答: 一般来说,内网会提供 vscode 安装包,remote-ssh 的 vsix,先安装好。 随后,保证自己…

YOLOv8实战无人机视角目标检测

本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化,该数据集包含丰富的无人机目标图像…

【二维动态规划:交错字符串】

介绍 编程语言:Java 本篇介绍一道比较经典的二维动态规划题。 交错字符串 主要说明几点: 为什么双指针解不了?为什么是二维动态规划?根据题意分析处转移方程。严格位置依赖和空间压缩优化。 题目介绍 题意有点抽象&#xff0c…

小米路由mini刷PDCN教程补充

花了10天帮助一个网友解决小米路由刷PDCN做打印服务器失败的过程,经历颇多。特别把中间的一些坑写出来,希望大家不要遇到。 首先网上好多教程写的都不错,很适合小白。推荐如下: 刷breed和PDCN方法: 小米路由器mini刷…

Unity ShaderLab 实现交互地毯

实现思路: 将一个位置坐标值传入到shader的顶点着色器中,和这个值位置相同的顶点沿着法线的y轴方向偏移,然后计算这个值与顶点的距离,在这个范围内的顶点,和凸起的点的位置做插值操作。 Shader Graph实现如下&#x…