34 lines
844 B
Bash
Executable File
34 lines
844 B
Bash
Executable File
#!/bin/bash
|
|
# Stop the Workout Planner server
|
|
# Usage: ./scripts/stop.sh
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
PID_FILE="$PROJECT_DIR/.server.pid"
|
|
|
|
if [ -f "$PID_FILE" ]; then
|
|
PID=$(cat "$PID_FILE")
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
echo "Stopping server (PID $PID)..."
|
|
kill "$PID"
|
|
rm -f "$PID_FILE"
|
|
echo "Server stopped."
|
|
else
|
|
echo "Server not running (stale PID file)."
|
|
rm -f "$PID_FILE"
|
|
fi
|
|
else
|
|
echo "No PID file found. Server may not be running."
|
|
# Try to find and kill any next server on port 3000
|
|
PIDS=$(lsof -ti:3000 2>/dev/null)
|
|
if [ -n "$PIDS" ]; then
|
|
echo "Found process(es) on port 3000: $PIDS"
|
|
echo "Kill them? (y/n)"
|
|
read -r REPLY
|
|
if [ "$REPLY" = "y" ]; then
|
|
echo "$PIDS" | xargs kill
|
|
echo "Killed."
|
|
fi
|
|
fi
|
|
fi
|