#!/bin/bash
# 源配置文件
source /etc/profile
# 定义项目名称
project_name="项目名称"
# 获取当前时间戳
timestamp=$(date "+%Y%m%d%H%M%S")
# 构建日志文件名
project_name_logname="${project_name}_${timestamp}.log"
# 日志文件路径
log_file="./logs/${project_name_logname}"
# 确保 logs 目录存在
mkdir -p ./logs
# 检查是否有旧的进程正在运行
pid_file="./logs/${project_name}_pid.txt"
if [ -f "$pid_file" ]; then
# 读取 PID 文件中的进程 ID
pid=$(cat "$pid_file")
# 检查进程是否还在运行
if ps -p $pid > /dev/null; then
# 停止旧的进程
echo "Stopping old process with PID: $pid"
kill $pid
sleep 1 # 给进程一点时间来优雅地关闭
fi
# 删除旧的 PID 文件
rm "$pid_file"
fi
# 创建新的日志文件
touch "$log_file"
# 启动 Java 应用程序
nohup java -jar -Xms4096m -Xmx4096m -Xss512k \
-Dspring.config.location=./config/bootstrap.properties \
./iot-msg-transport-0.0.1-SNAPSHOT.jar >"$log_file" 2>&1 &
# 写入新进程的 PID 到文件
echo $! > "$pid_file"
echo "Java application started with PID: $!"