49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
||
# BBAV20311 服务启动脚本 - 带自动重启
|
||
|
||
PROJECT_DIR="/home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev"
|
||
LOG_FILE="/tmp/bbav5_vue3.log"
|
||
PID_FILE="/tmp/bbav5_vue3.pid"
|
||
|
||
cd "$PROJECT_DIR/apps/web/vue3"
|
||
|
||
# 如果服务已在运行,先停止
|
||
if [ -f "$PID_FILE" ]; then
|
||
OLD_PID=$(cat "$PID_FILE")
|
||
if ps -p "$OLD_PID" > /dev/null 2>&1; then
|
||
echo "停止旧服务 (PID: $OLD_PID)..."
|
||
kill "$OLD_PID" 2>/dev/null
|
||
sleep 2
|
||
fi
|
||
fi
|
||
|
||
# 清理日志
|
||
echo "=== 服务启动 $(date) ===" > "$LOG_FILE"
|
||
|
||
# 启动服务并监控
|
||
while true; do
|
||
echo "启动服务..."
|
||
python3 main.py >> "$LOG_FILE" 2>&1 &
|
||
PID=$!
|
||
echo $PID > "$PID_FILE"
|
||
|
||
echo "服务已启动,PID: $PID"
|
||
|
||
# 等待服务退出
|
||
wait $PID
|
||
EXIT_CODE=$?
|
||
|
||
echo "服务退出,退出码: $EXIT_CODE,$(date)" >> "$LOG_FILE"
|
||
|
||
# 检查是否是正常停止(SIGTERM = 143, SIGINT = 130)
|
||
if [ $EXIT_CODE -eq 0 ] || [ $EXIT_CODE -eq 130 ] || [ $EXIT_CODE -eq 143 ]; then
|
||
echo "服务正常停止,不重启"
|
||
break
|
||
fi
|
||
|
||
echo "服务异常退出,5秒后重启..."
|
||
sleep 5
|
||
done
|
||
|
||
rm -f "$PID_FILE"
|