Tutoriales

Herramientas que te dicen por qué algo se está ejecutando

ps aux muestra lo que se está ejecutando en el sistema, pero witr Ve un paso más allá y te cuenta por qué funciona rastreando su origen.

si alguna vez has visto ps aux Tarde en la noche tratando de descubrir por qué. Node.js El proceso está usando demasiada memoria, es posible que lo hayas visto PIDusuario y comando, pero eso todavía no responde a la verdadera pregunta: ¿quién lo inició, qué lo inició y por qué sigue ejecutándose?

Para averiguarlo manualmente, normalmente termina ejecutando múltiples comandos como systemctl status, lsof, ss -tlnpy estudiar en profundidad /proc// Simplemente juntando todo.

witr Simplifica esto ya que toma el nombre del proceso, PID o número de puerto y le muestra la imagen completa en un solo lugar. Se rastrea el proceso desde systemd Sumérgete completamente en el proceso en ejecución para que puedas comprender rápidamente por qué existe.

tecmenta Versión profesional

Únase a un boletín leído por más de 34.000 profesionales de Linux.

Revisa tu correo electrónico para ver el enlace mágico.

Algo salió mal. Por favor inténtalo de nuevo.

Instalar witr en Linux

La forma más rápida de instalar witr En Linux, use el script de instalación oficial, simplemente ejecute el siguiente comando curl sudo De esta manera puede instalar el binario en /usr/local/bin Y hacerlo disponible en todo el sistema:

curl -fsSL  | sudo bash

El script detecta automáticamente su distribución de Linux y la arquitectura de su CPU, luego descarga e instala la versión correcta. witr. También instala páginas de manual para que pueda acceder a archivos usando:

man witr

Después de la instalación, confirme que esté funcionando correctamente:

witr --version

producción:

witr v0.3.2 (commit 5feece67c5e1ec6680ae0056daba07aa65158cb3, built 2026-05-16T17:41:51Z)

Si esto le parece algo que deseaba la última vez que localizó un proceso fraudulento, A quién todavía le cuesta hacer esto.

Seguimiento de procesos por nombre en Linux

Formas de uso más comunes witr Al pasar el nombre del proceso, encontrará el proceso coincidente y le mostrará su historial completo en una sola vista.

witr node
Or
witr --exact node
Ver el registro completo del proceso en Witr

Este resultado reemplaza las muchas comprobaciones manuales que normalmente realizaría. La parte más importante es Why It Exists línea, mostrando la cadena completa systemd (proceso de inicialización del sistema) a su proceso de nodo. Esto puede ayudarle a comprender exactamente cómo comienza el proceso.

este Source: bash (shell) Esta línea le indica que se inició manualmente desde la terminal, no mediante un servicio o demonio en segundo plano. este Working Dir mostrar dónde se ejecutó, y Sockets Muestra qué puertos de red está utilizando.

La sección de advertencias puede ayudarle a identificar rápidamente problemas potenciales, como exponer un servicio a una interfaz pública.

Si varios procesos coinciden con el mismo nombre (p. ej. nginx Por lo general, hay varios procesos de trabajo), witr Se enumerarán y se les pedirá que los limiten usando:

witr --pid 

También puedes usar --exact Solo coincide con nombres de procesos exactos en lugar de coincidencias parciales.

Si has estado vinculando manualmente systemctl, psy lsof salida para responder la pregunta, que hacen lo mismo.

Encontrar qué proceso está utilizando un puerto en Linux

Si un puerto está escuchando y desea saber qué es y por qué se está ejecutando, puede usar --port Opciones:

witr --port 3000

producción:

Target      : node

Process     : node (pid 10688) {forked}
User        : ravi
Command     : node -e require('http').createServer((req,res)=>res.end('ok')).listen(3000)
Started     : 8 min ago (Fri 2026-05-22 10:15:50 +05:30)

Why It Exists :
  systemd (pid 1) → systemd (pid 2768) → ptyxis (pid 10614) → ptyxis-agent (pid 10634) → bash (pid 10669) → node (pid 10688)

Source      : bash (shell)

Working Dir : /home/ravi/Desktop
Sockets     : 0.0.0.0:3000 (TCP | LISTENING)
              [::]:3000 (TCP6 | LISTENING)

Warnings    :
  • Process is listening on a public interface

Te dice exactamente cual systemd El servicio inicia este proceso, que resulta útil cuando necesita detener un servicio, cambiar su comportamiento de inicio o depurar por qué se sigue reiniciando.

en lugar de realizar un seguimiento manual ss, lsofy systemctl status, witr Conecte todos los puntos por usted en una sola vista.

Si desea obtener más información sobre cómo systemd administra los servicios y los archivos unitarios, Curso SSH en Pro TecMint Cubre la gestión de servicios de Linux desde cero.

Encuentre detalles del proceso de Linux por PID

A veces te has movido desde arriba o ps auxy solo quieres saber la historia completa detrás de esto.

Puedes usarlo directamente para pasar. --pid:

witr --pid 10688

producción:

Target      : node

Process     : node (pid 10688) {forked}
User        : ravi
Command     : node -e require('http').createServer((req,res)=>res.end('ok')).listen(3000)
Started     : 13 min ago (Fri 2026-05-22 10:15:50 +05:30)

Why It Exists :
  systemd (pid 1) → systemd (pid 2768) → ptyxis (pid 10614) → ptyxis-agent (pid 10634) → bash (pid 10669) → node (pid 10688)

Source      : bash (shell)

Working Dir : /home/ravi/Desktop
Sockets     : 0.0.0.0:3000 (TCP | LISTENING)
              [::]:3000 (TCP6 | LISTENING)

Warnings    :
  • Process is listening on a public interface

La línea Fuente es particularmente útil aquí, ya que le indica que el proceso se inició desde un shell interactivo en lugar de un servicio del sistema.

este Listening El campo muestra Enlace de red. en este caso, 0.0.0.0:3000 Lo que significa que el servicio está expuesto en todas las interfaces de red, no solo en localhost. Es importante verificar esto en un entorno de producción.

Un procedimiento está obligado a 0.0.0.0 El acceso desde fuera de la computadora es posible si las reglas del firewall lo permiten, por lo que witr Resalte esto para ayudarle a identificar rápidamente los posibles riesgos de exposición.

Ver la jerarquía del árbol de procesos de Linux

Si prefiere una estructura visual más clara en lugar de cadenas de una sola línea, puede usar:-tree opción para mostrar la jerarquía de procesos completa, incluidos los procesos padre, hijo y hermano:

witr --pid 143895 --tree

producción:

systemd (pid 1)
  └─ systemd (pid 2768)
    └─ ptyxis (pid 10614)
      └─ ptyxis-agent (pid 10634)
        └─ bash (pid 10669)
          └─ node (pid 10688)

Esta vista es particularmente útil al depurar un servicio que genera múltiples procesos de trabajo. En lugar de reconstruir la relación psicológicamente ps Como resultado, puede ver la jerarquía completa de inmediato.

El proceso objetivo está claramente marcado en el árbol para que no se pierda entre procesos hermanos o secundarios.

Si está depurando un servidor activo, esto puede ayudarle a determinar qué está consumiendo recursos. Te lo agradecerán la próxima vez que suceda algo misterioso.

Monitoree múltiples procesos de Linux simultáneamente

También puede combinar varias entradas en un solo comando combinando el nombre del proceso, el puerto y el PID, luego realizar todas las búsquedas y agrupar los resultados:

witr nginx --port 5432 --pid 1234

producción:

----- [name: nginx] -----
Target      : nginx
Process     : nginx (pid 2311)
...

----- [port: 5432] -----
Target      : postgres
Process     : postgres (pid 891)
...

----- [pid: 1234] -----
Target      : node
Process     : node (pid 1234)
...

Esto es particularmente útil durante la auditoría del servidor o la depuración de eventos cuando necesita verificar varios servicios a la vez. En lugar de ejecutar comandos separados para cada proceso, obtienes una vista unificada en un solo lugar.

También facilita la comparación de procesos no relacionados, como servidores web, bases de datos y procesos de aplicaciones, uno al lado del otro sin cambiar de contexto.

Si desea desarrollar habilidades reales de depuración en sistemas Linux, consulte Herramienta de monitoreo del rendimiento de Linux Curso Pro TecMint que cubre el conjunto de herramientas completo utilizado por los administradores de sistemas durante un incidente de producción.

Monitor interactivo de procesos Linux TUI

si corres witr sin ningún parámetro (o con -i), que abre una TUI (Interfaz de usuario de terminal) interactiva que muestra todos los procesos en ejecución en tiempo real.

witr

adentro TUIpuede explorar procesos, ordenarlos por uso de CPU o memoria, cambiar entre vistas como lista de procesos o vista de puertos y abrir detalles para cualquier proceso. También puedes hacer cosas como enviar señales (por ejemplo, kill o pause) directamente desde la interfaz.

witr TUI muestra la lista de procesos instantáneos
witr TUI muestra la lista de procesos instantáneos

Si witr acaba de salvarte de una sesión de depuración de 20 minutos, ¿Quién sigue bloqueando a PS? consulta | mal | manual lsof.

en conclusión

Vettel Lleno de solución de problemas diarios de Linux y herramientas como ps, top, lsofy ss Le muestra lo que se está ejecutando, pero no explica por qué se está ejecutando ni cómo llegar allí.

witr Construya automáticamente el contexto faltante. Traza la cadena completa de causa y efecto. systemd o un shell interactivo hasta el proceso final, identificando supervisores de origen y resaltando contextos útiles como directorios de trabajo, repositorios Git y enlaces de red. También señala situaciones de riesgo, como servicios expuestos en interfaces públicas.

Si esto le resultó útil y le gustaría obtener más información, Más de 100 comandos básicos de Linux El curso Pro TecMint cubre los comandos que utilizará todos los días como administrador del sistema.

Dado que es de solo lectura y no requiere configuración, es seguro ejecutarlo incluso en sistemas de producción.

Una buena forma de probarlo es comenzar con algo familiar. Por ejemplo:

witr --port 80

Ejecútelo en un sistema que administre y vea lo que muestra. En muchos casos, el historial de procesos no es el esperado, especialmente en servidores de larga ejecución donde las implementaciones y reinicios dejan una capa de procesos ocultos.

¿Alguna vez pasó 20 minutos rastreando un proceso misterioso y descubrió que era un proceso sobrante implementado hace 3 días? Deja un comentario y házmelo saber..

Si este artículo fue útil, Con alguien de tu equipo.

tecmenta Versión profesional

Únase a un boletín leído por más de 34.000 profesionales de Linux.

Revisa tu correo electrónico para ver el enlace mágico.

Algo salió mal. Por favor inténtalo de nuevo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba