Repolode
pranshuparmar

pranshuparmar/witr

CLI y TUI que rastrea cualquier proceso, puerto, contenedor o archivo hasta la cadena de sistemas que lo inició.

Estrellas
22,720
Forks
892
Issues abiertos
2
Último commit
ayer

¿Qué es?

witr responde a la pregunta «¿por qué está ejecutándose esto?» para un proceso, un puerto en escucha, un contenedor o un archivo abierto. Herramientas como ps, lsof, ss y docker ps muestran qué está ejecutándose, pero no cómo se inició. witr recorre la cadena de procesos padre y los supervisores (systemd, launchd, PM2, cron, sesiones SSH, tmux y runtimes de contenedores) para mostrar la secuencia de sistemas responsables del proceso.

Al ejecutar witr con un nombre, --pid, --port, --file o --container, se imprime un informe narrativo con la cadena de ascendencia, el origen que inició el proceso, el directorio de trabajo, la rama de git, los sockets y advertencias, como que se está ejecutando como root o escuchando en una interfaz pública. La salida puede ser breve, en forma de árbol, detallada o JSON, con códigos de salida documentados para scripts y CI. Si se ejecuta sin un destino, abre una TUI interactiva con pestañas para procesos, puertos, contenedores y bloqueos de archivos, además de acciones signal y renice en Unix.

El proyecto está escrito en Go y se distribuye como un único binario para Linux, macOS, Windows y FreeBSD, con varias opciones de gestores de paquetes.

Funciones clave

  • 01Rastrea la cadena de procesos padre y el supervisor (systemd, launchd, PM2, cron, SSH) de un proceso.
  • 02Busca destinos por nombre de proceso, PID, puerto en escucha, archivo abierto o contenedor.
  • 03Compatible con Docker, Podman, nerdctl, Kubernetes/crictl, Incus, LXC, LXD y las cárceles de FreeBSD.
  • 04Ofrece una TUI interactiva con pestañas para procesos, puertos, contenedores y bloqueos de archivos.
  • 05Genera informes legibles, vistas breves o en forma de árbol, o JSON con códigos de salida documentados.

Casos de uso

  • Averiguar qué está ocupando un puerto cuando un servidor de desarrollo falla con «address already in use».
  • Investigar un proceso desconocido o bloqueado durante un incidente en un servidor Linux.
  • Comprobar qué servicio de Compose o contenedor es propietario de un puerto en uso.
  • Permitir que agentes de programación con IA diagnostiquen conflictos de puertos y procesos mediante la salida JSON.

Inicio rápido

  1. 1

    Instalar mediante el script de instalación para Unix

    Instálalo siguiendo las instrucciones oficiales del README
  2. 2

    O instalar mediante Homebrew

    brew install witr
  3. 3

    O instalar desde el código fuente de Go

    go install github.com/pranshuparmar/witr/cmd/witr@latest

Antes de usarlo

  • Las opciones de instalación varían según la plataforma, y los paquetes de la comunidad pueden tardar en incorporar las versiones publicadas en GitHub.

Temas

Preguntas frecuentes

¿Qué es witr?
CLI y TUI que rastrea cualquier proceso, puerto, contenedor o archivo hasta la cadena de sistemas que lo inició. witr responde a la pregunta «¿por qué está ejecutándose esto?» para un proceso, un puerto en escucha, un contenedor o un archivo abierto. Herramientas como ps, lsof, ss y docker ps muestran qué está ejecutándose, pero no cómo se inició. witr recorre la cadena de procesos padre y los supervisores (systemd, launchd, PM2, cron, sesiones SSH, tmux y runtimes de contenedores) para mostrar la secuencia de sistemas responsables del proceso.
¿witr es gratuito? ¿Qué licencia tiene?
witr es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿witr sigue mantenido?
Mantenimiento activo. El último commit de witr fue el 19 oct 2026.
¿Para qué puedo usar witr?
Averiguar qué está ocupando un puerto cuando un servidor de desarrollo falla con «address already in use». Investigar un proceso desconocido o bloqueado durante un incidente en un servidor Linux. Comprobar qué servicio de Compose o contenedor es propietario de un puerto en uso. Permitir que agentes de programación con IA diagnostiquen conflictos de puertos y procesos mediante la salida JSON.
¿Cómo se instala witr?
Instalar mediante el script de instalación para Unix O instalar mediante Homebrew: brew install witr O instalar desde el código fuente de Go: go install github.com/pranshuparmar/witr/cmd/witr@latest
¿Dónde consigo witr?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pranshuparmar/witr

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados