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

linux下springboot项目守护进程编写

linux下springboot项目守护进程编写

本篇主要是讲当你的项目因各种原因导挂掉了,怎样检测并重启它。

直接上代码:

#!/bin/bash
jarname='eureka'
pid=`ps aux | grep $jarname | grep -v grep | grep java | awk '{print $2}'`

if [[ "$pid" == "" ]]; then
    echo "项目重新启动" >/home/program/eureka/run.log &
    nohup java -jar /home/program/eureka/$jarname.jar -server -Xms512m -Xmx1024m -Xss256k >> /home/program/eureka/run.log 2>&1 &
else
    echo "项目已经启动" >/home/program/eureka/run.log &
fi

我这里以一个名叫eureka.jar的项目做示例:

#!/bin/bash
加载bash环境

pid=`ps aux | grep $jarname | grep -v grep | grep java | awk '{print $2}'` 
查询当前项目的进程号(如果挂了是空字符)

if [[ "$pid" == "" ]]; then
判断是不是空字符 是的话就是挂了

nohup java -jar /home/program/eureka/$jarname.jar -server -Xms512m -Xmx1024m -Xss256k >> /home/program/eureka/run.log 2>&1 &
重启项目

注意点:
你的项目名称可能涉及到系统中其他进程,如果是这样即使你的项目挂了,pid也不是空字符。所以测试的时候记得把pid输出看一下,如果是这种情况记得把项目jar包改个名。

http://www.dtcms.com/a/108368.html

相关文章:

  • arm64平台下linux访问寄存器
  • Python----机器学习(线性回归:前向传播和损失函数)
  • 【C++基础知识】 C 预处理器中的 #line 指令详解
  • RabbitMQ应用2
  • Linux系统之SFTP-搭建SFTP服务器
  • ui-tars和omni-parser使用
  • JavaScript 模块化详解( CommonJS、AMD、CMD、ES6模块化)
  • 网络安全-等级保护(等保) 1-0 等级保护制度公安部前期发文总结
  • 蓝桥杯 web 表格数据转化(组件挂载、模板字符串)
  • 【硬件视界9】网络硬件入门:从网卡到路由器
  • C# 扩展方法
  • 跨网连接vscode
  • 银联三级等保定级报告
  • CMake学习--Window下VSCode 中 CMake C++ 代码调试操作方法
  • 闭环SOTA!北航DiffAD:基于扩散模型实现端到端自动驾驶「多任务闭环统一」
  • 面基spring如何处理循环依赖问题
  • conda 清除 tarballs 减少磁盘占用 、 conda rename 重命名环境、conda create -n qwen --clone 当前环境
  • 机器学习、深度学习和神经网络
  • vscode调试python(transformers库的llama为例)
  • C#实现HiveQL建表语句中特殊数据类型的包裹
  • 用docker部署goweb项目
  • RainbowDash 的 Robot
  • C++学习笔记(三十一)——map
  • Git的基础使用方法
  • 微信小程序唤起app
  • 【Docker】使用Docker快速部署n8n和unclecode/crawl4ai
  • PEFT实战(一)——LoRA
  • 大模型学习一:deepseek api 调用实战以及参数介绍
  • 【动手学深度学习】#7 现代卷积神经网络
  • C++多态:从青铜九鼎到虚函数表的千年演化密码