使用supervisor纳管java进程,自动重启服务

简介: 使用supervisor守护java进程,实现服务智能管理,自动重启。

supervisor能守护前台进程,实现服务的管理,包括服务开机自启动,关机自停止,服务优先级,日志管理,以及进程崩溃自动重启等,借助supervisor我们能更方便、更智能地对线上环境java服务的管理。
本文基于CentOS7系统,安装supervisor软件包
yum install supervisor -y

因为supervisor的子配置文件是位于/etc/supervisord.d/*.ini,所以创建需要守护的java服务配置文件
vi /etc/supervisord.d/java-.ini

[program:projectname]
directory = /usr/local/projectname
environment = JAVA_HOME="/usr/local/jdk1.8.0_201",PATH="$JAVA_HOME/bin:$PATH:/root/soft/node/bin",CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
command = /usr/local/jdk/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/usr/local/jdk1.8.0_201/jre/lib/ext:/usr/local/jdk
priority = 10
numprocs = 1
autostart = true
autorestart = true
startretries = 50
stopwaitsecs = 25
startsecs = 15
exitcodes = 0
user = root
group = root
stdout_logfile = /var/log/projectname.log
stderr_logfile = /var/log/projectname.log
redirect_stderr = true
stdout_logfile_maxbytes = 5MB
stdout_logfile_backups = 10

设置supervisor服务本身开机自启动
systemctl enable supervisor

启动supervisor服务
systemctl start supervisor

启动/停止/重启/查看守护的java服务
supervisorctl start/stop/reload/status projectname

目录
相关文章
|
24天前
|
Java 对象存储 开发者
如何找出Java进程占用CPU高的元凶
本文记录了一次Java进程CPU占用率过高的问题和排查思路。
|
2月前
|
Java
java小知识—进程和线程
进程 进程是程序的一次执行过程,是系统运行的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令地执行着,同时,每个进程还占有某些系统资源如CPU时间,内存空间,文件,文件,输入输出设备的使用权等等。换句话说,当程序在执行时,将会被操作系统载入内存中。 线程 线程,与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间做切换工作时,负担要比
32 1
|
3月前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
50 1
|
3月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
50 1
|
3月前
|
运维 监控 Java
使用jps命令查看Java进程
`jps`是Java开发者和系统管理员的得力助手,它简化了Java进程监控的过程,使得快速检查应用运行状态变得轻而易举。通过合理利用其提供的参数,可以高效地进行故障排查、性能监控及日常管理任务,确保Java应用稳定运行。
130 2
|
4月前
|
JSON Java 数据格式
java调用服务报错400
java调用服务报错400
80 2
|
4月前
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
117 1
|
3月前
|
Java 数据库
基于java的汽车服务管理系统(Car Service Management System)
基于java的汽车服务管理系统(Car Service Management System)
30 0
|
6月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
6月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
202 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)