stop_all.sh 792 Bytes
#!/bin/bash
BASE_DIR=$(cd "$(dirname "$0")"; pwd)

# Load shared configuration to get ports
if [ -f "$BASE_DIR/.env.sh" ]; then
    source "$BASE_DIR/.env.sh"
else
    echo "Error: .env.sh not found in $BASE_DIR"
    exit 1
fi

echo "Stopping Z-Image Services..."

if command -v pm2 &> /dev/null; then
    pm2 stop $BACKEND_NAME $FRONTEND_NAME
    pm2 delete $BACKEND_NAME $FRONTEND_NAME
    echo "Stopped via PM2."
else
    # Fallback to port-based kill using variables from .env.sh
    pids=$(lsof -t -i:$LOCAL_BACKEND_PORT -i:$LOCAL_FRONTEND_PORT)
    if [ -n "$pids" ]; then
        kill -9 $pids
        echo "Killed PIDs on ports $LOCAL_BACKEND_PORT and $LOCAL_FRONTEND_PORT: $pids"
    else
        echo "No processes found on ports $LOCAL_BACKEND_PORT/$LOCAL_FRONTEND_PORT"
    fi
fi