27 lines
532 B
Bash
27 lines
532 B
Bash
#!/bin/bash
|
|
|
|
cd "$(dirname "$0")" || exit 1
|
|
|
|
PID_FILE="$(dirname "$0")/app.pid"
|
|
PORT=7862
|
|
|
|
# 检查是否已在运行
|
|
if [ -f "$PID_FILE" ]; then
|
|
OLD_PID=$(cat "$PID_FILE")
|
|
if kill -0 "$OLD_PID" 2>/dev/null; then
|
|
echo "Service is already running (PID=$OLD_PID)."
|
|
exit 0
|
|
else
|
|
echo "Stale PID file found, removing..."
|
|
rm -f "$PID_FILE"
|
|
fi
|
|
fi
|
|
|
|
nohup uv run uvicorn main:app \
|
|
--host 0.0.0.0 \
|
|
--port $PORT \
|
|
> nohup.out 2>&1 &
|
|
|
|
echo $! > "$PID_FILE"
|
|
echo "Started (PID=$!)."
|