#!/usr/bin/env bash # 作业 1 · 在 207 上启动模拟「查询服务器状态」FastAPI 服务 set -euo pipefail DIR="/opt/server_status_api" PORT="${SERVER_STATUS_PORT:-8777}" PIDFILE="/tmp/server_status_api.pid" LOG="/tmp/server_status_api.log" mkdir -p "$DIR" pip3 install fastapi uvicorn -q if [[ -f "$PIDFILE" ]] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then echo "server_status_api already running pid=$(cat "$PIDFILE")" exit 0 fi cd "$DIR" nohup python3 -m uvicorn 作业1_server_status_api:app \ --host 0.0.0.0 --port "$PORT" >>"$LOG" 2>&1 & echo $! >"$PIDFILE" sleep 1 curl -sf "http://127.0.0.1:${PORT}/health" && echo echo "started on :${PORT}, log=$LOG"