Cómo ver los procesos que se ejecutan con Pstree en Linux

1 mar 2021 4 min di lettura
Cómo ver los procesos que se ejecutan con Pstree en Linux
Indice dei contenuti

Introducción

Cuando se trabaja en una máquina Linux, a veces puede ser necesario averiguar qué procesos se están ejecutando actualmente. Hay una serie de comandos que puede utilizar para encontrar información sobre los procesos en ejecución, siendo ps y top los más utilizados.

En este artículo, hablaremos sobre el comando pstree 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 ver la jerarquía del proceso y hace que la salida sea más atractiva visualmente.

Si desea utilizar el comando Pstree en un servidor remoto, siga leyendo; de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Cómo usar el comando pstree

La sintaxis general del pstree es la siguiente:

ps [OPTIONS] [USER or PID]

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

En Debian y distribuciones derivadas, ya debería estar instalado de forma predeterminada; de lo contrario, ejecute este comando:

sudo apt-get install psmisc

Para instalarlo en CentOS /RHEL, dé el siguiente comando:

sudo yum install psmisc

Para usar el comando sin ninguna opción, simplemente escriba pstree:

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, systemd es el primer proceso que se inicia al inicio.

pstree une 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 igual a:

├─agetty
 ├─agetty

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

pstree -c

Los subprocesos de un proceso se muestran debajo del proceso principal y se muestran usando el nombre del proceso entre paréntesis. Aquí hay un ejemplo:

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

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

Normalmente, pstree muestra muchas líneas de salida que no se ajustan a la pantalla. Para ver el resultado una página a la vez, canalice el comando less

pstree | less

Si se proporciona un nombre de usuario como argumento, pstree solo muestra los procesos que pertenecen a ese usuario. Por ejemplo, el siguiente comando solo mostrará aquellos procesos que fueron iniciados por un usuario llamado noviello:

pstree noviello

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

pstree 1943
sshd───bash───pstree

Para mostrar los procesos principales de un proceso determinado, utilice la -s seguida del proceso PID:

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

Mostrar PID y PGID

Por lo general, cuando se ejecuta el pstree, la información más importante que busca el usuario es el ID del proceso. Por ejemplo, conocer el PID le permite detener un proceso fallido.

La -p le dice al pstree que muestre 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)...

De forma predeterminada, pstree ordena los procesos con el mismo padre por nombre. La -n permite usar ordenación numérica, es decir, ordenar por PID:

pstree -pn

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

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 muestra PID o PGID, la combinación está implícitamente deshabilitada.

Mostrar argumentos de línea de comando

Algunos programas pueden invocarse con opciones de configuración especificadas como argumentos de línea de comando.

De forma predeterminada, pstree no muestra argumentos de línea de comandos para los procesos en ejecución. Para ver cómo comenzó el proceso, use el comando junto con la opción -a

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

Resaltar un proceso

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

La -h le dice a pstree que resalte el proceso actual y todos sus ancestros.

pstree -h

Para resaltar un proceso específico, use la -H seguida del ID del proceso:

pstree -H PID_NUMBER

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

Conclusión

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

Para obtener información sobre todas pstree opciones de pstree disponibles, escriba el man pstree en la terminal.

man pstree

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.