Linux下jar包脚本工具

Jar包启动、停止、重启

1、 新建脚本

vim 脚本明字.sh

在这里插入图片描述

2、启动服务脚本代码

#!/bin/bash

# 设置Java应用的名称(可根据实际情况修改)
APP_NAME="your_app"
# 设置要运行的JAR文件路径(请根据实际情况修改为你的JAR文件的真实路径)
JAR_FILE_PATH="/path/to/your_app.jar"

# 指定PID文件存放的目录(需提前确保该目录存在并有写权限,这里假设为/var/run/your_app/,可按需修改)
PID_DIR="/var/run/your_app/"
# 创建PID文件存放目录(如果不存在),确保不会因目录不存在而出错
mkdir -p $PID_DIR

# 指定日志文件存放的目录(需提前确保该目录存在并有写权限,这里假设为/var/log/your_app/,可按需修改)
LOG_DIR="/var/log/your_app/"
# 创建日志文件存放目录(如果不存在)
mkdir -p $LOG_DIR

# 获取当前日期,用于生成按日期命名的日志文件名
CURRENT_DATE=$(date +%Y%m%d)
# 使用nohup命令在后台运行JAR文件,将输出重定向到按日期命名的日志文件
nohup java -jar "$JAR_FILE_PATH" > "${LOG_DIR}/${APP_NAME}_${CURRENT_DATE}.log" 2>&1 &

# 获取刚刚在后台运行的进程的PID
PID=$!

# 将进程PID保存到指定目录下的文件,方便后续管理(例如停止服务等操作)
echo $PID > "${PID_DIR}/${APP_NAME}.pid"

# 输出提示信息
echo "The $APP_NAME has been started in the background, PID: $PID"

在这里插入图片描述

3、停止服务脚本代码

#!/bin/bash

# 设置应用程序名称(要和启动脚本中定义的一致)
APP_NAME="your_app"
# 指定PID文件存放的目录(与启动脚本中保持一致)
PID_DIR="/var/run/your_app/"
# 指定日志文件存放的目录(与启动脚本中保持一致)
LOG_DIR="/var/log/your_app/"

# 从指定目录下的保存PID的文件中读取进程PID
PID=$(cat "${PID_DIR}/${APP_NAME}.pid")

# 如果PID文件存在且读取到了PID值,则尝试杀死进程
if [ -n "$PID" ]; then
    kill $PID
    echo "The $APP_NAME has been stopped, PID: $PID"
else
    echo "Can't find the PID of $APP_NAME, maybe it's not running."
fi

在这里插入图片描述

4、重启服务脚本

#!/bin/bash

# 设置应用程序名称(要和启动脚本中定义的一致)
APP_NAME="your_app"
# 指定PID文件存放的目录(与启动脚本中保持一致)
PID_DIR="/var/run/your_app/"
# 指定日志文件存放的目录(与启动脚本中保持一致)
LOG_DIR="/var/log/your_app/"

# 先停止正在运行的jar包
./stop_jar.sh

# 等待一段时间,确保进程完全停止,这里等待5秒,可根据实际情况调整
sleep 5

# 重新启动jar包
./run_jar.sh

在这里插入图片描述

5、赋予脚本可执行权利

新建或修改脚本都要赋予可执行权利

chmod +x 脚本.sh

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值