#!/bin/bash

# Array para guardar los PIDs
pids=()

# Función para matar a todos los procesos hijos
cleanup() {
    echo "Recibido Ctrl+C. Terminando procesos..."
    for pid in "${pids[@]}"; do
        echo "Terminando proceso PID $pid"
        # kill -SIGINT "$pid" 2>/dev/null
	exec kill '-15' $pid
    done
    # Esperamos que terminen
    wait
    echo "Todos los procesos han sido terminados."
    exit 0
}

# Capturar SIGINT (Ctrl+C)
trap cleanup SIGINT

# Iniciar los programas en background y guardar sus PIDs
java -cp "../class/:../class/*" org.EZMoBots.roboGraphMQTT.dispatch.MQTTDispatch  $@&
# ./programa2 & pids+=($!)
# ./programa3 & pids+=($!)

# Esperar a que terminen todos (sin terminar el script antes)
wait