| #!/bin/bash |
| |
|
|
| echo "🚀 Iniciando Sistema de Monitoramento e Controle GPU" |
| echo "==================================================" |
|
|
| |
| if [ ! -f "gpu_monitoring.py" ]; then |
| echo "❌ Erro: Arquivos do sistema não encontrados. Execute a partir do diretório correto." |
| exit 1 |
| fi |
|
|
| |
| echo "📋 Verificando dependências..." |
| python3 -c "import sys; print('✓ Python 3.x detectado')" 2>/dev/null || { echo "❌ Python 3 não encontrado"; exit 1; } |
|
|
| |
| echo "🔧 Testando módulos principais..." |
| python3 -c " |
| try: |
| from gpu_monitoring import GPUManager |
| print('✓ GPU Monitoring carregado') |
| except ImportError as e: |
| print(f'⚠ GPU Monitoring: {e}') |
| |
| try: |
| from gpu_fan_controller import FanController |
| print('✓ Fan Controller carregado') |
| except ImportError as e: |
| print(f'⚠ Fan Controller: {e}') |
| |
| try: |
| from alert_system import AlertManager |
| print('✓ Alert System carregado') |
| except ImportError as e: |
| print(f'⚠ Alert System: {e}') |
| " |
|
|
| echo "" |
| echo "🎮 Iniciando componentes principais..." |
| echo "----------------------------------------" |
|
|
| |
| echo "📡 Iniciando monitoramento GPU..." |
| python3 gpu_monitor_desktop.py --display overlay & |
| GPU_MONITOR_PID=$! |
| echo "✓ Monitoramento GPU iniciado (PID: $GPU_MONITOR_PID)" |
|
|
| |
| echo "💨 Iniciando controle de fan..." |
| python3 gpu_fan_controller.py --profile balanced & |
| FAN_CONTROLLER_PID=$! |
| echo "✓ Controle de fan iniciado (PID: $FAN_CONTROLLER_PID)" |
|
|
| |
| echo "🌐 Iniciando interface web..." |
| python3 web_interface.py & |
| WEB_INTERFACE_PID=$! |
| echo "✓ Interface web iniciada (PID: $WEB_INTERFACE_PID)" |
|
|
| |
| echo "🚨 Iniciando sistema de alertas..." |
| python3 -c " |
| from alert_system import AlertManager |
| import time |
| alert_manager = AlertManager() |
| alert_manager.start() |
| print('✓ Sistema de alertas iniciado') |
| " & |
| ALERT_MANAGER_PID=$! |
| echo "✓ Sistema de alertas iniciado (PID: $ALERT_MANAGER_PID)" |
|
|
| echo "" |
| echo "✅ Sistema iniciado com sucesso!" |
| echo "================================" |
| echo "" |
| echo "📍 Componentes ativos:" |
| echo " • Monitoramento GPU: Overlay flutuante" |
| echo " • Controle de Fan: Perfil Balanced" |
| echo " • Interface Web: http://localhost:5000" |
| echo " • Sistema de Alertas: Ativo" |
| echo "" |
| echo "🔧 PIDs dos processos:" |
| echo " • GPU Monitor: $GPU_MONITOR_PID" |
| echo " • Fan Controller: $FAN_CONTROLLER_PID" |
| echo " • Web Interface: $WEB_INTERFACE_PID" |
| echo " • Alert Manager: $ALERT_MANAGER_PID" |
| echo "" |
| echo "💡 Dicas:" |
| echo " • Arraste o overlay para reposicionar" |
| echo " • Acesse a interface web para controle avançado" |
| echo " • Use Ctrl+C para parar o sistema" |
| echo "" |
| echo "🎯 Sistema pronto para monitoramento!" |
|
|
| |
| trap 'echo "🛑 Parando sistema..."; kill $GPU_MONITOR_PID $FAN_CONTROLLER_PID $WEB_INTERFACE_PID $ALERT_MANAGER_PID 2>/dev/null; exit 0' INT TERM |
|
|
| |
| while true; do |
| sleep 10 |
| |
| if ! kill -0 $GPU_MONITOR_PID $FAN_CONTROLLER_PID $WEB_INTERFACE_PID $ALERT_MANAGER_PID 2>/dev/null; then |
| echo "⚠ Aviso: Um ou mais processos foram encerrados" |
| echo " Reinicie o sistema se necessário" |
| fi |
| done |