#!/bin/bash # Stop Web Search Bridge Server SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" PID_FILE="$PROJECT_DIR/.server.pid" # Check if PID file exists if [ ! -f "$PID_FILE" ]; then echo "✓ Bridge Server is not running" exit 0 fi # Read PID PID=$(cat "$PID_FILE") # Check if process is running if ! ps -p "$PID" > /dev/null 2>&1; then echo "✓ Bridge Server is not running (stale PID file removed)" rm "$PID_FILE" exit 0 fi # Stop the server echo "Stopping Bridge Server (PID: $PID)..." kill "$PID" # Wait for graceful shutdown for i in {1..10}; do if ! ps -p "$PID" > /dev/null 2>&1; then echo "✓ Bridge Server stopped successfully" rm "$PID_FILE" exit 0 fi sleep 1 done # Force kill if still running if ps -p "$PID" > /dev/null 2>&1; then echo "Force stopping Bridge Server..." kill -9 "$PID" sleep 1 fi if ps -p "$PID" > /dev/null 2>&1; then echo "✗ Failed to stop Bridge Server" exit 1 else echo "✓ Bridge Server stopped (forced)" rm "$PID_FILE" exit 0 fi