Androide

Comando Pstree en Linux

Comandos Linux - pstree y kill

Comandos Linux - pstree y kill

Tabla de contenido:

Anonim

Cuando trabaje en una máquina Linux, a veces puede necesitar saber qué procesos se están ejecutando actualmente. Hay varios comandos que puede usar para buscar información sobre los procesos en ejecución, siendo ps y top los más utilizados., 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 mostrar la jerarquía de procesos y hace que la salida sea más atractiva visualmente.

Cómo usar el comando pstree

La sintaxis general para el comando pstree es la siguiente:

ps

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* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

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

pstree combina ramas idénticas ponié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*

es igual que:

├─agetty ├─agetty

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

pstree -c

Los hilos de un proceso se muestran debajo del proceso padre y se muestran usando el nombre del proceso dentro de llaves. Aquí hay un ejemplo:

├─lxcfs───2*

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

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 al comando less :

pstree | less

Si se proporciona un nombre de usuario como argumento, pstree muestra solo los procesos que posee ese usuario. Por ejemplo, el siguiente comando mostrará solo aquellos procesos que ha 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 la opción -s seguida del PID del proceso:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Mostrar PID y PGID

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

La opción -p indica a 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)…

Por defecto, pstree , ordena los procesos con el mismo padre por nombre. La opción -n le dice a pstree que use ordenación numérica, es decir, ordena por PID:

pstree -pn

El ID del grupo de procesos o PGID es el ID del proceso del primer miembro del grupo de procesos. 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 muestran PID o PGID, la fusión está deshabilitada implícitamente.

Mostrar argumentos de línea de comando

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

Por defecto, el pstree no muestra los argumentos de la línea de comandos para los procesos en ejecución. Para ver cómo se inició 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…

Resaltando

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

La opción -h indica a pstree que resalte el proceso actual y todos sus antepasados.

pstree -h

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

pstree -H PID_NUMBER

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

Conclusión

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

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

terminal ps