¿Por qué está corriendo algo en tu PC? El repositorio de GitHub que lo resuelve fácilmente

Elígenos como tu fuente preferida en Google.
Este repositorio de GitHub ya tiene unas 20.000 estrellas y te permite ver con un simple comando qué se está ejecutando en tu ordenador y por qué de forma muy fácil.
Ya sea que tengas que administrar una máquina como un ordenador o un servidor, en algún momento puede que te encuentres con problemas como una velocidad poco óptima o errores en el lanzamiento de algunos servicios.
Los programas tradicionales para soluciones este tipo de problemas pueden asfixiar con numerosos términos técnicos que tendrás que revisar manualmente, pero un usuario de GitHub ha creado la herramienta más increíble para saber qué está corriendo en tu PC con un simple comando.
Esta se llama Why Is This Running —witr por sus siglas en inglés, que significa en castellano "¿Por qué está esto corriendo?"—, un repositorio que a la fecha de este artículo tiene aproximadamente unas 20.000 estrellas en GitHub.
En los programas tradicionales para revisar esto, como puede ser el Administrador de Tareas en Windows o top en Linux, todos los procesos quedan enumerados en una lista que te ofrece el consumo y otros valores, aunque prácticamente no sabrás qué hacen ni quién les ha concedido permisos para que corran.
Con witr, se le da la vuelta a la tortilla y permite saber perfectamente quién ha concedido permisos, de dónde llegan las órdenes, el momento en el que se ejecutó el proceso y muchas más características con un simple comando.
Además, para facilitar el acceso a usuarios principiantes, witr cuenta con lo que se conoce como TUI –una interfaz de usuario basada en texto que se ejecuta en la terminal–, por lo que instalarla y utilizarla es realmente simple.
Por qué witr lo hace todo mucho más fácil
Este proyecto de código abierto nació a finales del año pasado y en apenas unos meses se ha convertido en uno de los repositorios más queridos de GitHub. La idea nació del ingeniero de software Pranshu Parmar.
Al igual que les ocurre a muchos programadores, analistas y expertos, él se topó con una frustración bastante común, como es tener que ejecutar hasta 5 comandos para saber cuál es el origen de un problema en una máquina.
En un tono más práctico, te ayuda a resolver problemas bastante habituales. Por ejemplo, imagina que el ventilador de tu PC no para de sonar; con witr, puedes descubrir qué servicio web o aplicación está congestionando tu máquina y cuál fue la app que la ejecutó.
Y esto sirve para muchas más otras cuestiones, como identificar por qué un puerto está ocupado o por qué aparece un aviso de seguridad ha saltado repentinamente, ya que la herramienta también detecta esto automáticamente. Aquí puedes ver un ejemplo concreto:

En este caso, target y process se refieren al programa que se está investigando. Aquí es node, un motor que se utiliza para ejecutar aplicaciones web, mientras que la clave del programa –Why It Exists– representa una especie de árbol genealógico, con systemd como el arranque del gestor de tareas, pm2, y el programa final, que es node.
Un poco más abajo, también se pueden ver otras características importantes, como la fuente (source), que aquí representa al servicio de contabilidad expense-tracker, así como una advertencia sobre lo que ha ocurrido. Como se puede apreciar, aquí se ha eliminado un archivo del disco, aunque continúa funcionando en la memoria RAM, lo que podría ser un fallo en la actualización o algún error de seguridad.
Esto implica una gran diferencia con el Administrador de Tareas, top en Linux, los comandos de red como lsof y netstat o los comandos de contenedores, como docker ps.
En el caso de este tipo de herramientas, lo más probable es que no sepas quién encendió el programa ni para qué sirve, que no entiendas el contexto o que no se muestre la relación con el sistema operativo principal –esto si usas docker ps–.

Por el contrario, witr muestra toda la cadena completa desde el origen como has podido ver en el ejemplo; te dice qué aplicación exactamente además del contenedor responsable y, por último, lo reúne todo en un mismo panel visual con diferentes pestañas interactivas.
Una de sus grandísimas ventajas es que su desarrollador ha pensado mucho también en los usuarios principiantes que no quieran complicarse mucho la vida con la termina, ya que ha sido creado en el lenguaje de programación Go (Golang), que compila directamente el programa en un único archivo ejecutable y portátil.
Básicamente, es como si descargaras un archivo ejecutable con todo ya preparado para su instalación y configuración.
Y lo mejor es que puedes instalarlo en macOS, en Linux y en Windows, o directamente ejecutarlo en la web. Simplemente, elige tu sistema operativo y ejecuta en la consola el que hayas seleccionado con el comando que corresponda de estos que puedes ver aquí:

Si nunca has usado la terminal o la consola, no te preocupes, ya que los comandos curl, winget y brew son algo parecido a tiendas de aplicaciones que no se pueden ver directamente en el sistema, y se encargarán de buscar el archivo oficial de witr en la web, para verificar que sea seguro y no tengas ningún tipo de inconveniente.
A partir de aquí, la forma más sencilla de utilizarlo es escribiendo witr sin nada más y ejecutarlo, para que te aparezca la TUI, la interfaz interactiva que he mencionado al principio y por la que puedes navegar con las flechas del teclado para ver la lista de programas, los puertos de red, los contenedores Docker y la vista general de todo el árbol.
También puedes analizar programas concretos. Por ejemplo, si usas Google Chrome, puedes escribir el comando witr chrome y tendrás acceso al análisis de dicho programa, además de las páginas y subprocesos que están activos y quién los ha creado.
Por último, si notas que algún puerto está bloqueado, puedes buscar directamente por estos. Imagina que el puerto 8080 está bloqueado; simplemente escribe witr :8080 –con esta sintaxis exacta– y te mostrará cuál es la aplicación que está bloqueando concretamente ese puerto de red en tu máquina.
En definitiva, witr hace muchísimo más fácil la revisión de procesos de forma muy visual y sin que tengas que salir de la terminal. Con un simple comando tendrás toda la información en el mismo sitio y de forma comprensible.

