#!/usr/bin/env bash # 作业 2 · 在 207 上启动模拟「工单报修」FastAPI 服务 set -euo pipefail DIR="/opt/ticket_api" PORT="${TICKET_API_PORT:-8778}" PIDFILE="/tmp/ticket_api.pid" LOG="/tmp/ticket_api.log" mkdir -p "$DIR" pip3 install fastapi uvicorn -q if [[ -f "$PIDFILE" ]] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then echo "ticket_api already running pid=$(cat "$PIDFILE")" exit 0 fi cd "$DIR" nohup python3 -m uvicorn 作业2_ticket_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"