32 lines
521 B
Bash
32 lines
521 B
Bash
#!/bin/bash
|
|
|
|
cd "$(dirname "$0")" || exit 1
|
|
|
|
PID_FILE="$(dirname "$0")/app.pid"
|
|
PORT=7862
|
|
|
|
# 停止旧进程
|
|
if [ -f "$PID_FILE" ]; then
|
|
PID=$(cat "$PID_FILE")
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
kill "$PID"
|
|
echo "Stopped old process (PID=$PID)."
|
|
fi
|
|
rm -f "$PID_FILE"
|
|
fi
|
|
|
|
sleep 2
|
|
|
|
# 启动新进程
|
|
nohup uv run uvicorn main:app \
|
|
--host 0.0.0.0 \
|
|
--port $PORT \
|
|
> nohup.out 2>&1 &
|
|
|
|
echo $! > "$PID_FILE"
|
|
echo "Started (PID=$!)."
|
|
|
|
sleep 1
|
|
|
|
ps -ef | grep "$PORT" | grep -v grep
|