fix: clean shutdown handling in start_server.sh
- Add signal traps for SIGINT (Ctrl-C) and SIGTERM - Cleanup function kills all child processes gracefully - Script now exits cleanly without hanging - Users can press Ctrl-C to stop all services at once
This commit is contained in:
@@ -120,7 +120,23 @@ echo "🔐 Starting SSL proxies on $PROXY_HOSTNAME..."
|
|||||||
npx local-ssl-proxy --source $BACKEND_SSL_PORT --target $BACKEND_PORT --hostname $PROXY_HOSTNAME > /dev/null 2>&1 &
|
npx local-ssl-proxy --source $BACKEND_SSL_PORT --target $BACKEND_PORT --hostname $PROXY_HOSTNAME > /dev/null 2>&1 &
|
||||||
npx local-ssl-proxy --source $FRONTEND_SSL_PORT --target $FRONTEND_PORT --hostname $PROXY_HOSTNAME > /dev/null 2>&1 &
|
npx local-ssl-proxy --source $FRONTEND_SSL_PORT --target $FRONTEND_PORT --hostname $PROXY_HOSTNAME > /dev/null 2>&1 &
|
||||||
|
|
||||||
# 7. Print Unified Access Banner
|
# 7. Signal handlers for clean shutdown
|
||||||
|
cleanup() {
|
||||||
|
echo ""
|
||||||
|
echo "🛑 Shutting down services..."
|
||||||
|
pkill -P $$ > /dev/null 2>&1
|
||||||
|
kill $(jobs -p) 2>/dev/null || true
|
||||||
|
pkill -f "uvicorn" 2>/dev/null || true
|
||||||
|
pkill -f "next-server" 2>/dev/null || true
|
||||||
|
pkill -f "local-ssl-proxy" 2>/dev/null || true
|
||||||
|
echo "✅ Cleanup complete"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Trap Ctrl-C (SIGINT) and other termination signals
|
||||||
|
trap cleanup SIGINT SIGTERM EXIT
|
||||||
|
|
||||||
|
# 8. Print Unified Access Banner
|
||||||
|
|
||||||
# Colors
|
# Colors
|
||||||
GREEN='\033[0;32m'
|
GREEN='\033[0;32m'
|
||||||
@@ -150,7 +166,7 @@ echo ""
|
|||||||
echo -e " ${YELLOW}${BOLD}NOTE:${NC} If you see a 'Not Private' warning,"
|
echo -e " ${YELLOW}${BOLD}NOTE:${NC} If you see a 'Not Private' warning,"
|
||||||
echo -e " Click 'Advanced' -> 'Proceed' to continue."
|
echo -e " Click 'Advanced' -> 'Proceed' to continue."
|
||||||
echo -e "${GREEN}=======================================================${NC}"
|
echo -e "${GREEN}=======================================================${NC}"
|
||||||
echo "Keep this window open while working."
|
echo "Keep this window open while working. Press Ctrl-C to stop."
|
||||||
echo -e "${GREEN}=======================================================${NC}"
|
echo -e "${GREEN}=======================================================${NC}"
|
||||||
|
|
||||||
# Wait for background processes
|
# Wait for background processes
|
||||||
|
|||||||
Reference in New Issue
Block a user