#!/usr/bin/env bash set -e DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$DIR" PID_FILE="$DIR/server.pid" LOG_FILE="$DIR/server.log" if [ -f "$PID_FILE" ]; then PID=$(cat "$PID_FILE") if kill -0 "$PID" 2>/dev/null; then echo "Server is already running with PID $PID." exit 0 else rm -f "$PID_FILE" fi fi # Start server in detached session, redirecting output to log file setsid python3 -u server.py > "$LOG_FILE" 2>&1 < /dev/null & PID=$! echo $PID > "$PID_FILE" # Quick check if it started successfully sleep 0.5 if kill -0 "$PID" 2>/dev/null; then echo "Server started successfully (PID $PID)." echo "Logs: $LOG_FILE" else echo "Failed to start server. Check logs: $LOG_FILE" rm -f "$PID_FILE" exit 1 fi