GNU/Linux >> Tutoriales Linux >  >> Linux

Comando Pstree en Linux

Al trabajar en una máquina Linux, a veces es posible que necesite averiguar qué procesos se están ejecutando actualmente. Hay varios comandos que puede usar para encontrar información sobre los procesos en ejecución, con ps y top siendo los más utilizados.

En este artículo, hablaremos sobre el pstree dominio. Es similar a ps , pero en lugar de enumerar los procesos en ejecución, los muestra en un árbol. El formato de árbol es una forma más conveniente de mostrar la jerarquía de procesos y hace que la salida sea más atractiva visualmente.

Cómo usar el pstree Comando #

La sintaxis general para pstree El comando es el siguiente:

ps [OPTIONS] [USER or PID]

En su forma más simple cuando se invoca sin ninguna opción o argumento, pstree muestra una estructura de árbol jerárquica de todos los procesos en ejecución:

pstree
systemd─┬─VBoxService───7*[{VBoxService}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─atd
        ├─cron
        ├─dbus-daemon
        ├─irqbalance───{irqbalance}
        ├─2*[iscsid]
        ├─lvmetad
        ├─lxcfs───2*[{lxcfs}]
        ├─networkd-dispat───{networkd-dispat}
        ├─nginx───2*[nginx]
...

El elemento superior/raíz del árbol es el proceso principal de todos los procesos del sistema. En este ejemplo, es systemd , que es el primer proceso que se inicia al arrancar.

pstree fusiona ramas idénticas colocándolas entre corchetes y prefijándolas con un número entero que representa el número de ramas. Esto hace que la salida sea más legible y visualmente atractiva.

A continuación se muestra un ejemplo que muestra cómo se utilizan los corchetes:

├─2*[agetty]

es lo mismo que:

├─agetty        
├─agetty

Para deshabilitar la fusión de ramas idénticas, use -c opción:

pstree -c

Los subprocesos de un proceso se muestran debajo del proceso principal y se muestran con el nombre del proceso entre llaves. Aquí hay un ejemplo:

├─lxcfs───2*[{lxcfs}]

Usa el -t opción para mostrar los nombres completos de los subprocesos. Si desea ocultar hilos y mostrar solo procesos, use -T opción.

Normalmente, pstree muestra muchas líneas de salida que no caben en la pantalla. Para ver la salida una página a la vez, canalícela a less comando:

pstree | less

Si se proporciona un nombre de usuario como argumento, pstree muestra solo los procesos propiedad de ese usuario. Por ejemplo, el siguiente comando mostrará solo aquellos procesos que haya iniciado un usuario llamado “linuxize”:

pstree linuxize

Cuando se especifica PID como argumento, pstree muestra un árbol con el proceso dado como la raíz del árbol. Aquí hay un ejemplo:

pstree 1943
sshd───bash───pstree

Para mostrar los procesos principales del proceso dado, use -s opción seguida del PID del proceso:

pstree -s 1943
systemd───sshd───sshd───bash───pstree

Mostrar PID y PGID #

Por lo general, cuando se ejecuta pstree comando, la información más importante que el usuario está buscando es el ID del proceso. Por ejemplo, conocer el PID le permite eliminar un proceso que no funciona correctamente.

El -p opción instruye a pstree para mostrar los PID:

pstree -p

Los PID se muestran entre paréntesis después de cada proceso o subproceso.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956)
           │                  ├─{VBoxService}(957)
           │                  ├─{VBoxService}(958)
           │                  ├─{VBoxService}(959)
           │                  ├─{VBoxService}(960)
           │                  ├─{VBoxService}(961)
           │                  └─{VBoxService}(962)
...

Por defecto, pstree , ordene los procesos con el mismo padre por nombre. El -n opción le dice a pstree para usar la ordenación numérica, es decir, ordenar por PID:

pstree -pn

El ID de grupo de procesos o PGID es el ID de proceso del primer miembro del grupo de procesos. Para ver los PGID, use -g opción:

pstree -g

Los PID también se muestran entre paréntesis después de cada proceso o subproceso.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  └─{VBoxService}(954)
...

Cuando se muestran los PID o PGID, la combinación se desactiva implícitamente.

Mostrar argumentos de la línea de comandos #

Algunos programas se pueden invocar con opciones de configuración especificadas como argumentos de línea de comandos.

Por defecto, el pstree no le muestra los argumentos de la línea de comando para los procesos en ejecución. Para ver cómo se inició el proceso, use el comando junto con -a opción:

pstree -a
...
  ├─agetty -o -p -- \\u --keep-baud 115200,38400,9600 ttyS0 vt220
  ├─agetty -o -p -- \\u --noclear tty1 linux
...

Resaltar #

pstree también le permite resaltar procesos para una mejor representación visual.

El -h opción instruye a pstree para resaltar el proceso actual y todos sus ancestros.

pstree -h

Para resaltar un proceso específico, use -H opción seguida del ID del proceso:

pstree -H PID_NUMBER

Si no se admite el resaltado, el comando saldrá con un error.

Conclusión #

El pstree El comando muestra los procesos en ejecución en forma de estructura de árbol.

Para obtener información sobre todos los pstree disponibles opciones, escriba man pstree en tu terminal.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. comando linux mv

  2. Linux du comando

  3. Comando IP de Linux

  4. Comando cd de linux

  5. Ejemplos de comandos kill en Linux

Al mando en Linux

Comando Killall en Linux con ejemplos

5 formas rápidas de matar un proceso en Linux

Comando Df en Linux

Cómo MATAR un proceso en Linux

Ejemplos de comandos pstree en Linux