windows配置使用supervisor

news2024/11/13 13:34:06

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、使用步骤
    • 1.安装supervisor-win
    • 2.配置supervisord
    • 3.配置program
    • 4.启动supervisord.exe
    • 5.supervisorctl.exe管控
  • 二、后台启动
  • 总结


前言

windows使用supervisor和linux略有不同,严格来说比linux略难,而且不是所有的特性都支持。


一、使用步骤

1.安装supervisor-win

其实有一个纯exe版本的supervisor,但是实际使用起来比python版的功能差些。所以,经过对比还是supervisor-win更有性价比。

建议使用anaconda3,因为本篇文章基于annaconda3,原生python目录请自行查找,这里不再赘述。

pip install supervisor-win -i https://mirrors.aliyun.com/pypi/simple

安装完成后在anaconda的Scripts下面有exe文件。用到的就红框括起来的几个exe。
在这里插入图片描述

2.配置supervisord

使用过linux的都知道/etc/supervisor.conf是配置文件,windows上的配置文件需要用命令生成。

echo_supervisord_conf.exe > D:\supervisord.conf

可以指定目录,不一定非得是D盘。

3.配置program

直接在supervisord.conf里面填就行了。下面是conf示例:

[program:theprogramname]
command=cmd.exe               ; the program (relative uses PATH, can take args)
directory=%(ENV_TMP)s         ; directory to cwd to before exec (def no cwd)
autostart=true                ; start at supervisord start (default: true)
startsecs=1                   ; # of secs prog must stay up to be running (def. 1)
startretries=3                ; max # of serial start failures when starting (default 3)
autorestart=unexpected        ; when to restart if exited after running (def: unexpected)
redirect_stderr=true          ; redirect proc stderr to stdout (default false)
stdout_logfile=a\\path        ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10     ; # of stdout logfile backups (0 means none, default 10)

在supervisord.conf里面 ; 符号是行注释的意思,去掉行注释,这一行就会被supervidord.exe解析。

字段解释:
[program:theprogramname] : 固定写法,theprogramname是程序名字,英文。
command : 需要执行的命令,建议使用绝对路径,而且必须是linux那种正斜杠 / 分割目录
directory : 工作目录
autostart : 自动启动,默认开启
startsecs : 程序至少需要维持1秒才被认为启动成功
startretries : 启动失败尝试次数
autorestart : 自动重新启动,如果程序意外退出生效(保活功能)
redirect_stderr : 重定向标准错误日志输出到标准输出,也可以单独输出,依据喜好。
stdout_logfile : 标准输出目录,可以是反斜杠。目录一定要存在,否则报错。
stdout_logfile_maxbytes : 单文件最大空间,超过了另起一个文件
stdout_logfile_backups : 最多保持的日志文件数

4.启动supervisord.exe

配置好了,就可以管控程序了,实测exe程序都可以管控,有些bat报错,还在研究原因

再此之前还需要改supervidsord.conf的两个地方,这样supervisorctl.exe才能正常工作,没错supervisorctl.exe和supervisord.exe是通过网络连接的。

#默认的配置
;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)

#改为
[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)

需要用户名密码就解开username和password的注释。

#默认配置
[supervisorctl]
;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as in [*_http_server] if set
;password=123                ; should be same as in [*_http_server] if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available

#改为
[supervisorctl]
serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as in [*_http_server] if set
;password=123                ; should be same as in [*_http_server] if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available

需要用户名密码就解开username和password的注释。

就这样基础配置基本完事了,需要其他功能的自行配置。

启动supervisord.exe才能管控程序

‪D:\conda\envs\supervisord\Scripts\supervisorctl.exe -c D:\conda\envs\supervisord\Scripts\supervisord.conf

这种启动方式是前台启动,cmd关掉就没了。

5.supervisorctl.exe管控

#重新加载,修改了supervisord.conf必须reload
D:\conda\envs\supervisord\Scripts\supervisorctl.exe reload

#查看状态
D:\conda\envs\supervisord\Scripts\supervisorctl.exe status

#启动程序
D:\conda\envs\supervisord\Scripts\supervisorctl.exe start <program name>

#停止程序
D:\conda\envs\supervisord\Scripts\supervisorctl.exe stop <program name>

这里不多介绍了,基本和linux差不多。

二、后台启动

有好几种方法,这里介绍一种vbs方法

supervisord.vbs

Set ws = CreateObject("Wscript.Shell")
ws.run "D:\Work\Anaconda\envs\supervisord\Scripts\supervisord.exe -c D:\conda\envs\supervisord\Scripts\supervisord.conf",vbhide

双击supervisord.vbs,supervisord.exe就在后台启动了,解析来就可以使用supervisorctl.exe管控了。


总结

1、比linux上的略差些,但是基本功能都有,可以满足使用需求。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇博客读懂完全二叉树——堆

目录 一、二叉树的概念及结构 2.1 二叉树概念 2.2 特殊的二叉树&#xff1a; 2.3 二叉树的存储结构 二、二叉树的顺序结构 2.1 二叉树的顺序结构 2.2 堆的概念及结构 三、堆的实现 3.1 插入数据 3.1.1向上调整算法 3.1.2向下调整算法 3.2 删除数据 3.2.1向下调整…

防火墙补充NAT

目录 1.iptables保存规则 2.自定义链 3.NAT NAT的实现分为下面类型&#xff1a; SNAT实验操作 DNAT实验操作 1.iptables保存规则 永久保存方法一&#xff1a; iptables -save > /data/iptables_rule //输出重定向备份 iptables -restore < /data/iptables_r…

使用canvas实现代码雨高级升阶版【附带源码和使用方法】

文章目录 前言基本绿色的彩色版本飘散雪花状后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端面试 &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&…

cs11C programming language

cs11C programming language WeChat&#xff1a;yj4399_ Sina Visitor System

Stable Video Diffusion(SVD)参数使用教程

Stable Video Diffusion&#xff08;SVD&#xff09;安装和测试 官网 github | https://github.com/Stability-AI/generative-modelsHugging Face | https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xtPaper | https://stability.ai/research/stable-vid…

elk+filebeat+kafka集群部署

EFK实验架构图&#xff1a; 实现高并发&#xff0c;无需指定logstash 3台esfile&#xff0c;3台kafka 20.0.0.10 esfile 20.0.0.20 esfile 20.0.0.30 esfile 20.0.0.11 kafka 20.0.0.12 kafka 20.0.0.13 kafka在es1主机上解压filebeat cd filebeat 安装nginx服务 vim /usr/loc…

Linux系统编程:进程总结

这一章主要为进程的基本内容作一个总结&#xff0c;为后面的多进程多线程并发作一个铺垫。 进程标识符pid pid类型为 pid_t。 在涉及有关进程相关内容的时候&#xff0c;一定要熟悉 ps 命令的使用&#xff0c;该命令专门用来打印当前系统的进程信息&#xff1a; 这里经常使用…

河涌空中、地面双联动巡防系列--下沙涌篇

“广州街坊空中巡防队”是第十届志愿服务广州交流会青年志愿服务专项行动精品项目大赛资助项目&#xff0c;由广州市志愿者行动指导中心、广州市羊城志愿服务基金会主办&#xff0c;广州市黄埔区平安促进会承办。 在党建引领下&#xff0c;对黄埔区辖区内针对河涌开展空中安全巡…

C陷阱与缺陷——第6章 预处理器

在严格意义上的编译过程开始之前&#xff0c;C语言预处理器首先对程序代码做了必要的转换处理。预处理器的主要作用是&#xff1a; 我们有时需要将某个特定数量在程序中出现的所有实例统统加以修改大多数C语言实现在函数调用时都会带来重大的系统开销 1. 不能忽视宏定义中的空…

【IEEE出版|往届均已成功EI检索】2024年第四届消费电子与计算机工程国际学术会议(ICCECE 2024)

2024年第四届消费电子与计算机工程国际学术会议&#xff08;ICCECE 2024&#xff09; 2024 4th International Conference on Consumer Electronics and Computer Engineering 进入21世纪以来&#xff0c;计算机技术的高速发展带来了消费电子产品的快速更迭。在技术迅速发展历…

NSSCTF第14页(2)

[UUCTF 2022 新生赛]ezpop 提示说看看反序列化字符串逃逸 PHP反序列化字符串逃逸_php反序列化逃逸-CSDN博客 php反序列化字符逃逸_php反序列化逃逸_Leekos的博客-CSDN博客 buuctf刷题9 (反序列化逃逸&shtml-SSI远程命令执行&idna与utf-8编码漏洞)_extract($_post);…

深度学习:什么是知识蒸馏(Knowledge Distillation)

1 概况 1.1 定义 知识蒸馏&#xff08;Knowledge Distillation&#xff09;是一种深度学习技术&#xff0c;旨在将一个复杂模型&#xff08;通常称为“教师模型”&#xff09;的知识转移到一个更简单、更小的模型&#xff08;称为“学生模型”&#xff09;中。这一技术由Hint…

CityEngine2023安装与快速入门

目录 0 引言1 安装2 CityEngine官方示例2.1 官方地址2.2 导入示例工程 3 结尾 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;CityEngine专栏&#x1f4a5; 标题&#xff1a;CityEngine2023安装与快速入门❣️ 寄语&#xff1a;书到用时方恨少&am…

sublime Text使用

1、增加install 命令面板 工具(tool)->控制面板(command palette) -> 输入install ->安装第一个install package controller&#xff0c;以下安装过了&#xff0c;所以没展示 2、安装json格式化工具 点击install package&#xff0c;等几秒会进入控制面板&#xff0…

机器学习入门(第六天)——支持向量机(升维打击)

Support vector machines 知识树 Knowledge tree 苹果表示重点 间隔&#xff1a;使用了几何间隔&#xff0c;保证w b的度量&#xff0c;感知机则是函数间隔 间隔最大化思想&#xff1a;则是支持向量机的独有&#xff0c;这使得它找到最优超平面 核函数&#xff1a;面试当中可…

什么是软阈值,硬阈值,软聚类,硬聚类!!软和硬指的是什么呢?详细解释看这里!!!

文章目录 一、软阈值和硬阈值的基本概念和区别二、软聚类和硬聚类的详细概念和区别 一、软阈值和硬阈值的基本概念和区别 在我所研究的领域中&#xff0c;经常出现小波降噪&#xff0c;就拿小波降噪举例子吧&#xff01;&#xff01; 在信号处理中&#xff0c;小波降噪是一种…

解析编程中的技术迷题:常见挑战与应对策略

前言 在数字化时代的浪潮中&#xff0c;编程已经成为了一项至关重要的技能。无论是在软件开发、数据分析、人工智能还是互联网领域&#xff0c;编程都扮演着不可或缺的角色。作为一种创造性的活动&#xff0c;编程不仅仅是代码的书写&#xff0c;更是一种解决问题和创新的思维方…

数据结构(六):堆介绍及面试常考算法

一、堆介绍 1、定义 堆是一种图的树形结构&#xff0c;被用于实现“优先队列”&#xff08;priority queues&#xff09;。优先队列是一种数据结构&#xff0c;可以自由添加数据&#xff0c;但取出数据时要从最小值开始按顺序取出。在堆的树形结构中&#xff0c;各个顶点被称…

web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)

题目 打开页面显示如下 只有这个页面能打开 显示如下 用dirsearch扫一下 查看了一下&#xff0c;发现没什么用 查看页面源代码 返回了&#xff0c;写入的参数&#xff0c;猜测可能有文件包含漏洞 用php伪协议读取文件 构造payload ?pagephp://filter/readconvert.base64-en…

java源码-流程控制

1、Java流程控制 主要涉及三大流程控制&#xff1a;顺序、分支、循环 如下图&#xff1a; 1&#xff09;流程2 存在对用户名和密码的校验&#xff0c;是否为空&#xff0c;存在分支控制 2&#xff09;流程3 用户名和密码在数据库是否存在&#xff0c;存在分支控制 3&#xff0…