Initial commit - Church Music Database
This commit is contained in:
75
legacy-site/scripts/shell/kill-dev-servers.sh
Executable file
75
legacy-site/scripts/shell/kill-dev-servers.sh
Executable file
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Kill All Development Servers Script
|
||||
# Ensures no development servers (react-scripts, webpack-dev-server) are running
|
||||
# This should be run before starting production services
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "Killing all development servers..."
|
||||
echo "=========================================="
|
||||
|
||||
# Kill react-scripts (development server)
|
||||
echo "Checking for react-scripts processes..."
|
||||
REACT_PIDS=$(pgrep -f "react-scripts" || true)
|
||||
if [ -n "$REACT_PIDS" ]; then
|
||||
echo "Found react-scripts processes: $REACT_PIDS"
|
||||
pkill -9 -f "react-scripts" || true
|
||||
echo "✓ Killed react-scripts"
|
||||
else
|
||||
echo "✓ No react-scripts processes found"
|
||||
fi
|
||||
|
||||
# Kill webpack-dev-server
|
||||
echo "Checking for webpack-dev-server processes..."
|
||||
WEBPACK_PIDS=$(pgrep -f "webpack-dev-server" || true)
|
||||
if [ -n "$WEBPACK_PIDS" ]; then
|
||||
echo "Found webpack-dev-server processes: $WEBPACK_PIDS"
|
||||
pkill -9 -f "webpack-dev-server" || true
|
||||
echo "✓ Killed webpack-dev-server"
|
||||
else
|
||||
echo "✓ No webpack-dev-server processes found"
|
||||
fi
|
||||
|
||||
# Kill any Python dev servers (app.py running directly, NOT gunicorn)
|
||||
echo "Checking for Python dev servers..."
|
||||
# Only kill python processes running app.py directly, NOT gunicorn workers
|
||||
for pid in $(pgrep -f "python.*app\.py" || true); do
|
||||
CMD=$(ps -p $pid -o args= 2>/dev/null || true)
|
||||
# Skip if it's a gunicorn worker
|
||||
if echo "$CMD" | grep -q "gunicorn"; then
|
||||
echo "Skipping gunicorn process: $pid"
|
||||
continue
|
||||
fi
|
||||
# Kill if it's a direct python app.py process
|
||||
if echo "$CMD" | grep -q "python.*app\.py"; then
|
||||
echo "Killing Python dev server: $pid ($CMD)"
|
||||
kill -9 $pid 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
echo "✓ Python dev server check complete"
|
||||
|
||||
# Wait for ports to be released
|
||||
echo "Waiting for ports to be released..."
|
||||
sleep 1
|
||||
|
||||
# Verify port 5100 is free (except for production serve)
|
||||
PORT_5100=$(lsof -i :5100 2>/dev/null | grep -v "serve" || true)
|
||||
if [ -n "$PORT_5100" ]; then
|
||||
echo "⚠ Warning: Port 5100 in use by non-serve process"
|
||||
echo "$PORT_5100"
|
||||
# Only kill non-serve processes on port 5100
|
||||
lsof -i :5100 2>/dev/null | grep -v -E "serve|COMMAND" | awk '{print $2}' | xargs -r kill -9 || true
|
||||
sleep 1
|
||||
else
|
||||
echo "✓ Port 5100 is free or only used by serve"
|
||||
fi
|
||||
|
||||
echo "=========================================="
|
||||
echo "✓ All development servers killed"
|
||||
echo "✓ Ports verified (production services preserved)"
|
||||
echo "=========================================="
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user