Spaces:
Sleeping
Sleeping
File size: 3,415 Bytes
01d5a5d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
#!/bin/bash
# Source the logging utilities
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/utils/logging.sh"
# Load configuration from .env file
load_env() {
if [ -f .env ]; then
# Load necessary environment variables
export LOCAL_APP_PORT=$(grep '^LOCAL_APP_PORT=' .env | cut -d '=' -f2)
export LOCAL_FRONTEND_PORT=$(grep '^LOCAL_FRONTEND_PORT=' .env | cut -d '=' -f2)
else
# Use default ports if .env not found
export LOCAL_APP_PORT=8002
export LOCAL_FRONTEND_PORT=3000
log_warning "Using default ports: Backend=${LOCAL_APP_PORT}, Frontend=${LOCAL_FRONTEND_PORT}"
fi
}
# Check if a port is in use
check_port() {
local port=$1
local pid=$(lsof -ti:$port 2>/dev/null)
if [ -z "$pid" ]; then
echo -e "${RED}Not running${NC}"
return 1
else
local process_name=$(ps -p $pid -o comm= 2>/dev/null)
local process_cmd=$(ps -p $pid -o args= 2>/dev/null)
echo -e "${GREEN}Running${NC} (PID: $pid, Process: $process_name)"
echo " Command: $process_cmd"
return 0
fi
}
# Check if a process is running by PID
check_process() {
local pid_file=$1
local service_name=$2
if [ -f "$pid_file" ]; then
local pid=$(cat $pid_file)
if ps -p $pid > /dev/null 2>&1; then
local process_name=$(ps -p $pid -o comm= 2>/dev/null)
local process_cmd=$(ps -p $pid -o args= 2>/dev/null)
echo -e "${GREEN}Running${NC} (PID: $pid, Process: $process_name)"
echo " Command: $process_cmd"
return 0
else
echo -e "${RED}Not running${NC} (PID file exists but process is dead)"
return 1
fi
else
echo -e "${RED}Not running${NC} (No PID file found)"
return 1
fi
}
# Main function to check status
check_status() {
log_section "SERVICE STATUS"
# Load environment variables
load_env
# Check backend service status
echo -e "${BOLD}Backend Service:${NC}"
echo -n " PID File: "
check_process "run/.backend.pid" "Backend"
backend_pid_status=$?
echo -n " Port ${LOCAL_APP_PORT}: "
check_port ${LOCAL_APP_PORT}
backend_port_status=$?
# Check frontend service status
echo -e "\n${BOLD}Frontend Service:${NC}"
echo -n " PID File: "
check_process "run/.frontend.pid" "Frontend"
frontend_pid_status=$?
echo -n " Port ${LOCAL_FRONTEND_PORT}: "
check_port ${LOCAL_FRONTEND_PORT}
frontend_port_status=$?
# Check port 8080 status (additional port)
echo -e "\n${BOLD}Port 8080 Status:${NC}"
echo -n " Port 8080: "
check_port 8080
port_8080_status=$?
# Summary
echo -e "\n${BOLD}Summary:${NC}"
if [ $backend_pid_status -eq 0 ] || [ $backend_port_status -eq 0 ]; then
echo -e " Backend: ${GREEN}Active${NC}"
else
echo -e " Backend: ${RED}Inactive${NC}"
fi
if [ $frontend_pid_status -eq 0 ] || [ $frontend_port_status -eq 0 ]; then
echo -e " Frontend: ${GREEN}Active${NC}"
else
echo -e " Frontend: ${RED}Inactive${NC}"
fi
if [ $port_8080_status -eq 0 ]; then
echo -e " Port 8080: ${GREEN}In Use${NC}"
else
echo -e " Port 8080: ${RED}Not In Use${NC}"
fi
}
# Execute check status
check_status
|