当前位置: 首页 > news >正文

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进行常驻内存了

在这里插入图片描述

相关文章:

Supervisor使用教程

文章目录 [toc] Supervisor使用教程平台要求 安装supervisor本文测试的时候是使用Linux的yum安装的(其它方式未做测试)加入系统守护进行 Supervisor使用教程 在项目中,经常有脚本需要常驻运行的需求。以PHP脚本为例,最简单的方式…...

Spark基本命令详解

文章目录 Spark基本命令详解一、引言二、Spark Core 基本命令1、Transformations(转换操作)1.1、groupBy(func)1.2、filter(func) 2、Actions(动作操作)2.1、distinct([numTasks])2.2、sortBy(func, [ascending], [numTasks]) 三、…...

Three.js 相机视角的平滑过渡与点击模型切换视角

在 Three.js 中,实现相机视角的平滑过渡和点击模型切换到查看模型视角是一个常见且有用的功能。这种效果不仅能提升用户体验,还能为场景互动添加更多的动态元素。 1. 基本设置 首先,我们需要创建一个基本的 Three.js 场景,包括相…...

jenken 打包linux包遇到的问题(环境变量)

环境变量问题 我们jenkens 打包的时候 远程打包 通过ssh 去在服务器上调用脚本 环境变量没有去自动加载 代码打包的时候总是提示相关的so文件找不到 解决方案在 相关程序的make之前 把环境变量加在前面 我这里直接将变量加载代码的最前面...

使用 Go 语言中的 Context 取消协程执行

使用 Go 语言中的 Context 取消协程执行 在 Go 语言中,协程(goroutine)是一种轻量级的线程,非常适合处理并发任务。然而,如何优雅地取消正在运行的协程是一个常见的问题。本文将通过一个具体的例子来展示如何使用 con…...

python图像彩色数字化

效果展示&#xff1a; 目录结构&#xff1a; alphabets.py GENERAL {"simple": "%#*-:. ","complex": "$B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_~<>i!lI;:,\"^. " } # Full list could be found here…...

cesium 3dtile ClippingPlanes 多边形挖洞ClippingPlaneCollection

原理就是3dtiles里面的属性clippingPlanes 采用ClippingPlaneCollection&#xff0c;构成多边形来挖洞。 其次就是xyz法向量挖洞 clippingPlanes: new this.ffCesium.Cesium.ClippingPlaneCollection({unionClippingRegions: true, // true 表示多个切割面能合并为一个有效的…...

docker 僵尸进程问题

docker僵尸进程 子进程结束后&#xff0c;父进程没有回收该进程资源&#xff08;父进程可能没有wait&#xff09;&#xff0c;子进程残留资源存放与内核中&#xff0c;就变为僵尸进程(zombie) 场景分析&#xff1a;python脚本A中执行B应用&#xff0c;将A部署在docker中&#…...

微软要求 Windows Insider 用户试用备受争议的召回功能

拥有搭载 Qualcomm Snapdragon 处理器的 Copilot PC 的 Windows Insider 计划参与者现在可以试用 Recall&#xff0c;这是一项臭名昭著的快照拍摄 AI 功能&#xff0c;在今年早些时候推出时受到了很多批评。 Windows 营销高级总监 Melissa Grant 上周表示&#xff1a;“我们听…...

husky,commit规范,生成CHANGELOG.md,npm发版

项目git提交工程化&#xff08;钩子&#xff0c;提交信息commit message&#xff09;&#xff0c;npm修改版本&#xff0c;需要涉及到的包&#xff1a; husky&#xff0c;允许在git钩子中执行不同的脚步&#xff0c;如commitlint&#xff0c;eslint&#xff0c;prettier&#…...

DETR:一种新颖的端到端目标检测与分割框架

DETR&#xff1a;一种新颖的端到端目标检测与分割框架 摘要&#xff1a; 随着深度学习技术的发展&#xff0c;目标检测和图像分割任务取得了显著的进步。然而&#xff0c;传统的基于区域提名的方法在处理这些问题时存在一定的局限性。为此&#xff0c;Facebook AI Research&am…...

前端js面试知识点思维导图(脑图)

如果看着不清晰可以去https://download.csdn.net/download/m0_73761441/90058523访问下载&#xff0c;无需积分 使用百度脑图制作&#xff0c;可以一键导入下面的文本生成自己的脑图 js相关面试题、知识点 数据类型 1. 数据类型分类&#xff1f;分别包含&#xff…...

【Java基础入门篇】一、变量、数据类型和运算符

Java基础入门篇 一、变量、数据类型和运算符 1.1 变量 计算机中的数据表示方式是&#xff1a;“二进制(0/1)”&#xff0c;但是同时也可以兼容其他进制&#xff0c;例如八进制、十进制、十六进制等。 Java变量的本质是&#xff1a;存储在固定空间的内容&#xff0c;变量名是…...

【llamafactory】安装与环境配置

拉取镜像 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory创建虚拟环境 conda create -n llamafactory python3.10 conda activate llamafactory安装所需依赖 pip install -e ".[torch,vllm,optimum,auto_gptq]"...

Vue 3 + Vuex 埋点实现指南

在现代前端开发中&#xff0c;数据分析和用户行为追踪是不可或缺的部分。本文将介绍如何在 Vue 3 项目中实现埋点功能&#xff0c;具体使用 Vuex 进行状态管理&#xff0c;并通过自定义 Hook 实现埋点逻辑。 目录 项目结构实现埋点逻辑使用埋点功能总结 1.项目结构 我们将创…...

电子应用设计方案-30:智能扫地机器人系统方案设计

智能扫地机器人系统方案设计 一、引言 随着人们生活节奏的加快和对生活品质的追求&#xff0c;智能家居产品越来越受到消费者的青睐。智能扫地机器人作为一种能够自动清扫地面的智能设备&#xff0c;为人们节省了大量的时间和精力。本方案旨在设计一款功能强大、智能化程度高、…...

HTML飞舞的爱心(完整代码)

写在前面 HTML语言实现飞舞的爱心完整代码。 完整代码 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>飞舞爱心</title><style>* {margin: 0;padding: 0;}html,body {overflow: hidd…...

android shader gl_Position是几个分量

在Android的OpenGL ES中&#xff0c;gl_Position是顶点着色器&#xff08;Vertex Shader&#xff09;的一个内置输出变量&#xff0c;它用于指定顶点在裁剪空间&#xff08;Clip Space&#xff09;中的位置。gl_Position是一个四维向量&#xff08;4-component vector&#xff…...

spine 动画层 动态权重

前奏.业务背景 这边想实现一个功能&#xff0c;项目中有 一只猫 猫的头会盯着逗猫棒移动。因为素材还没到所以这里使用了 spine 自带的猫头鹰。他的动画 刚好挺有针对性&#xff1a;&#xff08;关联上篇&#xff09;https://blog.csdn.net/nicepainkiller/article/details/144…...

《Python基础》之Python中可以转换成json数据类型的数据

目录 一、JSON简介 JSON有两种基本结构 1、对象&#xff08;Object&#xff09; 2、数组&#xff08;Array&#xff09; 二、将数据装换成json数据类型方法 三、在Python中&#xff0c;以下数据类型可以直接转换为JSON数据类型 1、字典&#xff08;Dictionary&#xff09…...

AI驱动的网络安全:深度学习与LLM在威胁检测与教育中的应用

1. 项目概述&#xff1a;AI赋能的网络安全新范式在网络安全领域&#xff0c;我们正面临着一个日益严峻的悖论&#xff1a;一方面&#xff0c;攻击手段正变得前所未有的复杂和自动化&#xff1b;另一方面&#xff0c;74%的安全事件仍然源于人为因素。这种技术与人的双重挑战催生…...

VisualCppRedist AIO:告别DLL错误,Windows系统必备的一体化运行库解决方案

VisualCppRedist AIO&#xff1a;告别DLL错误&#xff0c;Windows系统必备的一体化运行库解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经在打…...

ai圈重大新闻xAI 被解散、并入 SpaceX 并改为 SpaceXAI 深度解读

xAI 被解散、并入 SpaceX 并改为 SpaceXAI&#xff0c;本质是&#xff1a;技术路线失败&#xff0b;团队彻底崩塌&#xff0b;巨额亏损难持续&#xff0b;商业变现无力&#xff0b;资本与IPO压力&#xff0b;马斯克战略转向&#xff0c;六重因素叠加下的“止损式重组”&#xf…...

Arm TechCon技术生态深度解析:从IP设计到SoC研发的实战指南

1. 从EE Times视角看Arm TechCon&#xff1a;一场技术盛宴的深度导览 在科技行业&#xff0c;尤其是半导体和嵌入式系统领域&#xff0c;会议多如牛毛。但如果你问我&#xff0c;哪一类会议最能让我这个在行业里摸爬滚打了二十多年的老工程师感到兴奋&#xff0c;答案无疑是那些…...

小白程序员也能抓住的AI高薪机遇:大模型时代的机会与挑战

某书成立AI一级部门&#xff0c;预示着AI成为大厂核心战略。AI已从噱头渗透到工作和生活中&#xff0c;带来高薪机遇。AI大模型应用开发工程师年薪可达70万&#xff0c;薪资高源于需求大、供给少。无论技术岗还是非技术岗&#xff0c;AI都将创造更多机会。普通人应主动学习AI工…...

从零部署Claude 3.5 Sonnet私有化实例:NVIDIA A10/A100实测吞吐对比、Token缓存优化与RAG集成避坑指南(含GitHub开源脚本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude 3.5 Sonnet新功能详解 Anthropic 正式发布的 Claude 3.5 Sonnet 在推理速度、多模态理解与工具调用能力上实现了显著跃升。相比前代&#xff0c;其上下文窗口稳定支持 200K tokens&#xff0c;…...

sndcpy音频转发工具:Android设备音频镜像的完整指南

sndcpy音频转发工具&#xff1a;Android设备音频镜像的完整指南 【免费下载链接】sndcpy Android audio forwarding PoC (scrcpy, but for audio) 项目地址: https://gitcode.com/gh_mirrors/sn/sndcpy 想要在电脑上实时收听Android设备的音频内容吗&#xff1f;sndcpy音…...

D3D8to9终极指南:3步让老游戏在现代Windows上完美运行![特殊字符]

D3D8to9终极指南&#xff1a;3步让老游戏在现代Windows上完美运行&#xff01;&#x1f680; 【免费下载链接】d3d8to9 A D3D8 pseudo-driver which converts API calls and bytecode shaders to equivalent D3D9 ones. 项目地址: https://gitcode.com/gh_mirrors/d3/d3d8to9…...

从SQL搬数据到智能分析:5级模型带你掌握数据分析AI Agent,收藏这份进阶指南!

本文介绍了数据分析AI Agent的概念及其与传统BI和ChatGPT的区别&#xff0c;提出了一个包含5个级别的成熟度模型来定位团队所处的阶段。文章重点解析了数据分析Agent的三层架构演进&#xff1a;Function Calling、ReAct模式和多Agent协作&#xff0c;并以电商实战案例展示了如何…...

如何永久保存微信聊天记录?WeChatExporter一站式解决方案

如何永久保存微信聊天记录&#xff1f;WeChatExporter一站式解决方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 在数字时代&#xff0c;微信聊天记录承载着我们的工…...