supervisor管理启动重启,Java,Go程序Demo

简介
Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启

1、安装

yum -y install supervisor

2、配置默认配置文件

echo_supervisord_conf > /etc/supervisord.conf

3、修改主配置文件配置

vim /etc/supervisord.conf
... ...
# 其他配置保持默认即可
[include]
files = /etc/supervisord.d/*.ini

4、创建子进程 supervisor.ini
giftpanel go程序
recharge java程序

[program:giftpanel]
directory=/opt/gs/giftpanel/
command=/opt/gs/giftpanel/gift-panel  -DserviceCenter=ip -Dnamespace=gs-test -DserverPort=9082
numprocs=1
autostart=true
startretries=3
autorestart=true
redirect_stderr=false
stdout_logfile=/opt/supervisorlogs/giftpanel.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/opt/supervisorlogs/giftpanel.err.log
stderr_logfile_maxbytes=10MB [program:recharge]
command=/usr/lib/jvm/java-1.8.0/bin/java -jar -server -Xms512M -Xmx2048M  -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/gs/recharge/heapdump.hprof -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/data/gs/recharge/gc.log -DserverId=500 -DserviceCenter=ip  -Dnamespace=gs-test -DserverPort=9090 /opt/gs/recharge/recharge-1.0-SNAPSHOT-gs.jar
numprocs=1
autostart=true
startretries=3
autorestart=true
redirect_stderr=false
stdout_logfile=/opt/supervisorlogs/recharge.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/opt/supervisorlogs/recharge.log
stderr_logfile_maxbytes=10MB#如果需要配置分组 后面添加配置
[group:gs]
programs=giftpanel,recharge

5、启动

第一次配置需要重启supervisord

systemctl start supervisord.service

之后添加子配置(*.ini)文件 只需要update即可

supervisorctl update

6,1启动项目未分组情况下

重启所有
supervisorctl restart all
supervisorctl restart recharge
supervisorctl restart giftpanel停止所有
supervisorctl stop all
supervisorctl stop giftpanel
supervisorctl stop recharge

6,2启动项目分组情况下


重启所有
supervisorctl restart gs:*
重启
supervisorctl restart gs:recharge
supervisorctl restart gs:giftpanel停止所有
supervisorctl stop gs:*
停止
supervisorctl stop gs:giftpanel
supervisorctl stop gs:recharge

查看log
tail -f /data/supervisorlogs/gs/giftpanel.log

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

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

相关文章

软著项目推荐 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题…

CodeTON Round #7 (Div. 1 + Div. 2)

A.jagged Swaps 题意: 给出一个包含 n n n个数字的序列,每次可以选择一个同时大于左右两边相邻的数字,将这个数字与它右边的数字交换,问能否在经过若干次操作后使序列变为升序。 分析: 由于交换只能向后进行&#…

常用的操作数组的方法

1、concat() 链接两个数组 let arr1 [1,2,3] let arr2 [4,5] console.log(arr1.concat(arr2)) // [1,2,3,4,5] 2、join() 把数组转换成字符串,括号里的参数为分隔符,为空默认 ‘,’ let arr [1,2,3] console.log(arr.join()) //1,2,3 3、push() 向…

Java 基础学习(四)操作数组、软件开发管理

1 操作数组 1.1.1 System.arraycopy 方法用于数组复制 当需要将一个数组的元素复制到另一个数组中时,可以使用System.arraycopy方法。它提供了一种高效的方式来复制数组的内容,避免了逐个元素赋值的繁琐过程。相对于使用循环逐个元素赋值的方式&#x…

C#-串口通信入门及进阶扩展

目录 一、串口相关参数介绍 1、端口(COM口) 2、波特率(Baud rate) 3、起始位 4、停止位(StopBits) 5、数据位 6、校验位 7、缓存区 二、串口通信助手 三、虚拟串口工具 四、进阶扩展 1、位运算…

InnoDB存储引擎中的锁

文章目录 概要一、需要解决的问题二、共享锁和独占锁1.1 锁定读1.2 表级别的共享锁、独占锁 三、行锁3.1 数据准备3.2 几种常见的行级锁3.3 行锁升级为表锁 概要 关于MySQL涉及到的锁,大致可以总结如下: MyISAM存储引擎在开发过程中几乎很少使用了&…

SpringSecurity+JWT实现权限控制以及安全认证

一.简介 Spring Security 是 Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户​ 授权&…

Spring Boot + MyBatis-Plus实现数据库读写分离

文章目录 1. 引言2. MyBatis-Plus简介3. 准备工作4. 配置数据源5. 配置MyBatis-Plus6. 创建实体类和Mapper接口7. 编写Service8. 控制器层9. 测试10. 数据库读写分离的原理11. 拓展11.1. 动态数据源11.2. 多数据源事务管理11.3. 多租户支持 12. 总结 🎉Spring Boot …

【多线程】-- 06 线程状态之线程停止与休眠

多线程 5 线程状态 线程的五大状态:创建状态、就绪状态、阻塞状态、运行状态、死亡状态。如下图所示: 具体解释如下: 线程方法: 5.1 停止线程 不推荐使用JDK提供的stop()方法、destroy()方法【已废弃 – deprecated】推荐线程自…

NX二次开发UF_CSYS_create_csys 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_create_csys Defined in: uf_csys.h int UF_CSYS_create_csys(const double csys_origin [ 3 ] , tag_t matrix_id, tag_t * csys_id ) overview 概述 Creates a CSYS. 创…

el-select多选下拉框实现全选功能

<el-selectv-model"query.web_ids"multiplecollapse-tagscollapse-tags-tooltip:max-collapse-tags"2"filterableplaceholder"网站"><li class"checkAllBox" style"padding: 0 32px 0 20px; border-bottom: 1px solid #…

京东API接口的接入(京东工业)

在技术交流群&#xff0c;大家有探讨稳定获取京东商品主图、价格、标题&#xff0c;及sku的完整解决方案。这个引起了我技术挑战的兴趣。 目前&#xff0c;自己做了压测&#xff0c;QPS高、出滑块概率极低&#xff0c;API整体稳定&#xff0c;可满足业务场景的性能需求。 公共…

Unity接入Protobuf介绍

Protobuf介绍 Protobuf&#xff08;Protocol Buffers&#xff0c;简称Proto&#xff09;是一种轻量级和高效率的数据序列化格式&#xff0c;由Google公司开发。与XML和JSON等文本格式不同&#xff0c;Protobuf是一种二进制格式&#xff0c;它具有更小的体积和更快的速度。在大…

std::shared_ptr 和多态的组合使用//test ok

在 C 中&#xff0c;std::shared_ptr 和多态&#xff08;通过虚函数和基类指针/引用实现&#xff09;可以很好地结合使用。这种组合通常用于管理对象的生命周期&#xff0c;同时允许通过基类指针或引用来实现多态。 下面是一个简单的示例&#xff0c;演示如何使用 std::shared…

多传感器融合SLAM论文调研

感知任务 物体识别&#xff1a; 《Pointnet: Deep learning on point sets for 3d classification and segmentation》《Voxelnet: End-to-end learning for point cloud based 3d object detection》 语义分割&#xff1a; 《An integrated framework for autonomous driv…

Appium PO模式UI自动化测试框架——设计与实践

1. 目的 相信做过测试的同学都听说过自动化测试&#xff0c;而UI自动化无论何时对测试来说都是比较吸引人的存在。相较于接口自动化来说&#xff0c;它可以最大程度的模拟真实用户的日常操作与特定业务场景的模拟&#xff0c;那么存在即合理&#xff0c;自动化UI测试自然也是广…

面试题:海量PDF的OCR处理思路

关键点&#xff1a; 1000wPDF&#xff1a;数据量非常大。3天处理完&#xff1a;有时间限制。一篇PDF1~10s&#xff1a;可能需要以最高10s去做计算&#xff0c;这样时间才能保证留有富余。要求资源最大化利用&#xff1a;也就是尽可能节省服务器资源&#xff0c;能复用尽量复用&…

【EI会议征稿】第四届应用数学、建模与智能计算国际学术会议(CAMMIC 2024)

第四届应用数学、建模与智能计算国际学术会议&#xff08;CAMMIC 2024&#xff09; 2024 4th International Conference on Applied Mathematics, Modelling and Intelligent Computing 第四届应用数学、建模与智能计算国际学术会议&#xff08;CAMMIC 2024&#xff09;将于…

JOSEF约瑟 逆功率继电器 GG-21 5a 100v 50hz

系列型号 GG-21逆功率继电器 GG-22过载继电器 1 用途 逆功率继电器GG-21/5A/100V 在出现逆功率时&#xff0c;从电网中断开交流发电机。 2 概述 逆功率继电器是基于感应式原理(具有旋转磁场)而工作。 继电器导磁体由两个磁路系统组成&#xff1a;上磁路系统和下磁路系统…

FreeRTOS-事件组

目录 事件组 创建事件组 删除事件组 设置事件 等待事件 同步点 应用场景&#xff1a;等待多个事件 应用场景&#xff1a;任务同步 事件组 事件组可看成一个整形数&#xff0c;每一位代表一个事件。 每一位事件的含义由程序员决定&#xff0c;如位0表示串口是否就绪&…