Delete main/manager-api/start.sh

This commit is contained in:
joey
2025-04-01 00:02:40 +08:00
committed by GitHub
parent 83e9725d02
commit a7b5e0df6c
-71
View File
@@ -1,71 +0,0 @@
#!/bin/bash
# 应用名称和JAR包路径
APP_NAME="xiaozhi-esp32-api"
JAR_FILE="xiaozhi-esp32-api.jar"
PID_FILE="xiaozhi-server.pid"
PROFILE="dev"
# 创建日志目录
LOG_DIR="logs"
mkdir -p $LOG_DIR
# 获取当前日期和时间作为日志文件名(精确到秒)
CURRENT_DATETIME=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="$LOG_DIR/${APP_NAME}_${CURRENT_DATETIME}.log"
# 检查JAR文件是否存在,如果不存在则尝试在target目录中查找
if [ ! -f "$JAR_FILE" ]; then
# 检查target目录是否存在
if [ -d "target" ]; then
# 在target目录中查找JAR文件
TARGET_JAR=$(find target -name "$JAR_FILE" -type f | head -n 1)
if [ -n "$TARGET_JAR" ]; then
JAR_FILE="$TARGET_JAR"
else
# 如果找不到指定名称的JAR,尝试查找任何JAR文件
TARGET_JAR=$(find target -name "*.jar" -not -name "*sources.jar" -not -name "*javadoc.jar" -not -name "*tests.jar" -type f | head -n 1)
if [ -n "$TARGET_JAR" ]; then
JAR_FILE="$TARGET_JAR"
else
echo "错误: 无法找到JAR文件,请确保已编译项目"
exit 1
fi
fi
else
echo "错误: 未找到target目录,请确保已编译项目"
exit 1
fi
fi
# 检查是否已经有实例在运行
if [ -f "$PID_FILE" ]; then
OLD_PID=$(cat $PID_FILE)
if ps -p $OLD_PID > /dev/null; then
echo "发现已运行的实例 (PID: $OLD_PID),正在停止..."
kill $OLD_PID
sleep 5
# 检查进程是否仍在运行,如果是则强制终止
if ps -p $OLD_PID > /dev/null; then
echo "进程未能正常终止,正在强制终止..."
kill -9 $OLD_PID
sleep 2
fi
fi
fi
# 启动应用
nohup java -jar $JAR_FILE --spring.profiles.active=$PROFILE > $LOG_FILE 2>&1 & echo $! > $PID_FILE
echo "$APP_NAME 已启动,PID: $(cat $PID_FILE)"
# 创建一个符号链接指向最新的日志文件,方便查看
LATEST_LOG_LINK="$LOG_DIR/${APP_NAME}_latest.log"
if [ -L "$LATEST_LOG_LINK" ]; then
rm "$LATEST_LOG_LINK"
fi
ln -s "$(basename $LOG_FILE)" "$LATEST_LOG_LINK"
echo "最新日志文件链接: $LATEST_LOG_LINK"