Files
agents_and_robots/dev-scripts/ps.sh
T
egutierrez b86da0b805 refactor: update dev-scripts for unified launcher model
Actualiza todos los scripts de desarrollo para el modelo de launcher unificado.
Ya no se inician procesos individuales por agente — un solo proceso corre todos.

_common.sh: helpers para launcher unificado (is_launcher_running, read_launcher_pid,
launcher_pid_file/log_file), agent_status() ahora deriva estado del launcher
start.sh: inicia el launcher unificado (sin -c flag, descubre todos los agentes)
stop.sh: detiene el launcher unificado
restart.sh: stop + start del launcher
ps.sh: muestra stats del proceso launcher + lista de agentes enabled/disabled
logs.sh: tail -f del log unificado del launcher
server.sh: añade comandos enable/disable para gestionar agentes, elimina start/stop por agente
remove.sh: simplificado a toggle enabled:false + sugerencia de restart

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:06:11 +00:00

86 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# ps.sh — muestra el estado del launcher unificado y agentes
#
# Uso:
# ./dev-scripts/ps.sh
source "$(dirname "$0")/_common.sh"
if ! is_launcher_running; then
echo ""
dim " Launcher no está corriendo."
echo ""
echo " Agentes:"
while IFS='|' read -r id _v enabled _d _c; do
if [[ "$enabled" == "true" ]]; then
echo -e " ${GRN}${RST} $id (enabled)"
else
echo -e " ${DIM}$id (disabled)${RST}"
fi
done < <(list_agents_raw)
exit 0
fi
pid="$(read_launcher_pid)"
# Uptime
if [[ -f /proc/$pid/stat ]]; then
start_ticks=$(awk '{print $22}' /proc/$pid/stat 2>/dev/null || echo 0)
clk_tck=$(getconf CLK_TCK)
boot_time=$(awk '/btime/{print $2}' /proc/stat)
proc_start=$((boot_time + start_ticks / clk_tck))
now=$(date +%s)
elapsed=$((now - proc_start))
days=$((elapsed / 86400))
hours=$(( (elapsed % 86400) / 3600 ))
mins=$(( (elapsed % 3600) / 60 ))
if [[ $days -gt 0 ]]; then
uptime="${days}d ${hours}h"
elif [[ $hours -gt 0 ]]; then
uptime="${hours}h ${mins}m"
else
uptime="${mins}m"
fi
else
uptime="n/a"
fi
# Memory and CPU
read -r mem_kb cpu_pct < <(ps -p "$pid" -o rss=,pcpu= 2>/dev/null || echo "0 0")
if [[ "$mem_kb" -gt 1048576 ]]; then
mem="$(( mem_kb / 1048576 )) GB"
elif [[ "$mem_kb" -gt 1024 ]]; then
mem="$(( mem_kb / 1024 )) MB"
else
mem="${mem_kb} KB"
fi
# Log size
log="$(launcher_log_file)"
if [[ -f "$log" ]]; then
log_bytes=$(stat -c%s "$log" 2>/dev/null || echo 0)
if [[ "$log_bytes" -gt 1048576 ]]; then
log_size="$(( log_bytes / 1048576 )) MB"
elif [[ "$log_bytes" -gt 1024 ]]; then
log_size="$(( log_bytes / 1024 )) KB"
else
log_size="${log_bytes} B"
fi
else
log_size="-"
fi
echo ""
echo -e " ${GRN}● Launcher running${RST} PID $pid"
echo -e " uptime: $uptime mem: $mem cpu: ${cpu_pct}% log: $log_size"
echo ""
echo " Agentes:"
while IFS='|' read -r id _v enabled _d _c; do
if [[ "$enabled" == "true" ]]; then
echo -e " ${GRN}${RST} $id (enabled, running in launcher)"
else
echo -e " ${DIM}$id (disabled)${RST}"
fi
done < <(list_agents_raw)