witr: Descubre por qué los procesos se ejecutan en tu sistema
witr: La herramienta definitiva para responder "¿Por qué está ejecutándose esto?" en tu sistema
En el mundo de la administración de sistemas y la depuración, una pregunta persigue a todo sysadmin: "¿Por qué está ejecutándose esto?". Ya sea un proceso misterioso consumiendo CPU, un servicio ocupando un puerto o un contenedor que no para, las herramientas tradicionales como ps, top, lsof o systemctl te muestran qué está corriendo, pero no por qué. Aquí entra witr, una herramienta CLI open-source revolucionaria que hace explícita la causalidad.
¿Qué hace que witr destaque?
Desarrollada en Go y con 10.9k estrellas en GitHub, witr rastrea toda la cadena de ancestros de cualquier proceso, servicio o puerto. Revela cómo se inició algo (por ejemplo, vía systemd, pm2, Docker o cron) y qué lo mantiene vivo. Objetivos clave: - Cero configuración - Solo lectura y segura - Salida legible para humanos - Resúmenes en una sola pantalla
No pretende monitorear ni arreglar automáticamente: witr se centra en la claridad durante incidentes.
Instalación ultrarrápida
witr es un único binario estático, disponible en todas partes:
Scripts rápidos (recomendados para pruebas)
Linux/macOS/FreeBSD:
curl -fsSL https://raw.githubusercontent.com/pranshuparmar/witr/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/pranshuparmar/witr/main/install.ps1 | iex
Gestores de paquetes
- Homebrew:
brew install witr - Conda/Mamba/Pixi:
conda install -c conda-forge witr - Arch (AUR):
yay -S witr-bin - FreeBSD:
pkg install sysutils/witr - Más: AOSC OS, GNU Guix, deb/rpm/apk desde los releases.
Verifica: witr --version o man witr.
Uso principal: Apunta a cualquier cosa
witr unifica todas las consultas en análisis de PID:
- Por nombre: witr node o witr nginx
- Por PID: witr --pid 14233
- Por puerto: witr --port 5000
Salida de ejemplo
Target: node
Process: node (pid 14233) | User: pm2 | Started: 2 days ago | Restarts: 1
Why It Exists: systemd (pid 1) → pm2 (pid 5034) → node (pid 14233)
Source: pm2
Working Dir: /opt/apps/expense-manager
Git Repo: expense-manager (main)
Listening: 127.0.0.1:5001
Opciones para usuarios avanzados:
- --short: Resumen en una línea
- --tree: Árbol de ancestros del proceso
- --json: Formato legible por máquinas
- --warnings: Solo alertas de seguridad (ej. proceso root, binds públicos)
Dominio multiplataforma
| Característica | Linux | macOS | Windows | FreeBSD |
|---|---|---|---|---|
| Info de procesos | ✅ | ✅ | ✅ | ✅ |
| systemd/launchd | ✅ | ✅ | - | rc.d ✅ |
| Contenedores (Docker) | ✅ | ⚠️ | - | Jails ✅ |
Ejecuta con sudo para acceso completo en sistemas restringidos.
Por qué lo adoran los sysadmins
witr reduce el tiempo de depuración de minutos saltando entre herramientas a segundos. Ideal para fallos, auditorías o pura curiosidad. Con 29 colaboradores y lanzamientos activos (último v0.2.4), está listo para producción bajo Apache-2.0.
¡Empieza ya! Clona desde GitHub, instala y ejecuta witr --help. Tus sistemas te lo agradecerán.
Estrellas: 10.9k | Forks: 244 | Plataformas: Linux/macOS/Windows/FreeBSD