#!/bin/bash
jar="nb888-0.0.1-SNAPSHOT"
# jar所在目录
base_dir="/root/jars/${jar}"
start_log_file="${base_dir}/start-log.log"
# 可能由于SSH会话中的环境变量问题找不到java,所以用绝对路径执行
java_bin="/usr/local/java/jdk1.8.0_231/jre/bin"
is_running() {
pgrep -f "${jar}.jar" > /dev/null
# 找到了返回0,找不到返回1
return $?
}
if is_running; then
echo "$(date '+%Y-%m-%d %H:%M:%S') 正在杀死${jar}.jar进程..." >> "${start_log_file}"
# 杀死hello.jar进程
pkill -f "${jar}.jar"
# 等待进程终止
stop_timeout_seconds=30
stop_time=$(date +%s)
stop_end_time=$((stop_time + stop_timeout_seconds))
while is_running; do
stop_current_time=$(date +%s)
if [ "$stop_current_time" -gt "$stop_end_time" ]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') 无法杀死 $jar 进程。超过 $stop_timeout_seconds 秒。"
exit 1
fi
sleep 1
done
echo "$(date '+%Y-%m-%d %H:%M:%S') 已杀死${jar}.jar进程." >> "${start_log_file}"
fi
# 启动jar
echo "$(date '+%Y-%m-%d %H:%M:%S') 正在启动${jar}.jar..." >> "${start_log_file}"
nohup ${java_bin}/java -Xms128m -Xmx128m -Xmn64m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${base_dir}/dump.bin -jar ${base_dir}/target/${jar}.jar > ${base_dir}/log.out 2>&1 &
# 等待直到jar启动成功
start_timeout_seconds=60
start_time=$(date +%s)
start_end_time=$((start_time + start_timeout_seconds))
while ! is_running; do
start_current_time=$(date +%s)
if [ "$start_current_time" -gt "$start_end_time" ]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') 启动 $jar 进程超时。超时时间 $start_timeout_seconds 秒。"
exit 1
fi
sleep 1
done
echo "$(date '+%Y-%m-%d %H:%M:%S') ${jar}.jar已成功启动." >> "${start_log_file}"
# 脚本结束
exit 0
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
某银行用了10多年的Java启动脚本,包括运行状态检查,如果程序正在运行则杀死,杀死期间循环检查,直到杀死或者杀死超时,然后重新启动,如果程序没有运行则直接启动,启动期间每间隔一定时间检测一次,直到启动成功或者超时,每一步都记录了详细启停日志
资源推荐
资源详情
资源评论
收起资源包目录
企业生产环境用了10多年的Java之jar包停止启动重启脚本.zip (1个子文件)
企业生产环境用了10多年的Java之jar包停止启动重启脚本
Restart.sh 2KB
共 1 条
- 1
资源评论
九转成圣
- 粉丝: 2017
- 资源: 353
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
- docker安装部署全流程
- 基于树莓派的人脸识别系统python源码+项目部署说明+超详细代码注释.zip
- Python和R爬取分析赶集网北京二手房数据.zip
- Python和R爬取分析赶集网北京二手房数据.zip
- Java知识体系最强总结(2021版).txt
- Python知识点Python知识点Python知识点Python知识点Python知识点PythonPython知识点.txt
- Java开发基于seetaface6的人脸识别(活体检测)的封装源码.zip
- JSP在线失物招领管理平台源码.zip
- JSP在线旅游美食展现管理系统源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功