#!/usr/bin/env bash # 作业 8 · 在 207 上启动 SLA Prometheus Exporter set -euo pipefail DIR="/opt/workbuddy/scripts_cursor/作业8_SLA监控大盘" PORT="${SLA_EXPORTER_PORT:-8781}" PIDFILE="/tmp/hw8_sla_exporter.pid" LOG="/tmp/hw8_sla_exporter.log" if [[ -f "$PIDFILE" ]] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then if [[ "${FORCE_RESTART:-0}" == "1" ]]; then echo "restarting sla_exporter pid=$(cat "$PIDFILE")" kill "$(cat "$PIDFILE")" 2>/dev/null || true sleep 1 rm -f "$PIDFILE" else echo "sla_exporter already running pid=$(cat "$PIDFILE")" curl -sf "http://127.0.0.1:${PORT}/health" && echo exit 0 fi fi mkdir -p /opt/workbuddy/data/homework8 cd "$DIR" nohup python3 作业8_sla_exporter.py --port "$PORT" --interval 60 >>"$LOG" 2>&1 & echo $! >"$PIDFILE" sleep 2 curl -sf "http://127.0.0.1:${PORT}/health" && echo curl -sf "http://127.0.0.1:${PORT}/metrics" | head -n 8 echo "started on :${PORT}, log=$LOG"