killserver.sh 595 B

1234567891011121314151617181920212223
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. PIDFILE=${PIDFILE:-server.pid}
  4. stop_pid() {
  5. local pid="$1"
  6. if [ -n "$pid" ] && ps -p "$pid" > /dev/null 2>&1; then
  7. kill "$pid" 2>/dev/null || true
  8. sleep 1
  9. ps -p "$pid" > /dev/null 2>&1 && kill -9 "$pid" 2>/dev/null || true
  10. fi
  11. }
  12. if [ -f "$PIDFILE" ]; then
  13. PID=$(cat "$PIDFILE" 2>/dev/null || true)
  14. stop_pid "$PID"
  15. rm -f "$PIDFILE"
  16. fi
  17. # Sweep up stale server processes started from this project.
  18. for pid in $(pgrep -f 'news_mcp\.mcp_server_fastmcp:app|uvicorn .*news_mcp\.mcp_server_fastmcp:app' || true); do
  19. stop_pid "$pid"
  20. done