Visualizar árbol de procesos en Linux con pstree

En la píldora de hoy vamos a trabajar con pstree, un pequeño programa que nos permitirá ver el árbol de procesos activos, en nuestros sistemas GNU Linux. Hay que recordar que recientemente hablamos de otro programa similar, aunque en ese caso se trataba de ‘tree’, una herramienta que nos permitiría ver el árbol de directorios.

Sobre pstree

Tal y como hemos comentado se trata de un programa que muestra los procesos, desde la línea de comandos, en forma de diagrama de árbol. Difiere del popular ‘ps’ en varios aspectos. Entre los que destaca que este último muestra los procesos en una lista en lugar de un diagrama, pero proporciona información más detallada sobre estos.

El programa pstree facilita información sobre la finalización de una serie de procesos relacionados entre sí, esto es, todos los descendientes de un proceso particular. El programa deja claro desde un principio que proceso es el primario y cuales son los secundarios. Esto evita buscar las relaciones entre los diversos procesos de manera manual.

Trabajando con pstree en CentOS

Ya sabéis que CentOS es el sistema operativo que más uso últimamente. En cualquier caso, su uso es similar en la mayoría de las distribuciones.

Su forma más común de uso es, desde la línea de comandos, la siguiente:

1
pstree [opciones]

Consulta su página de man podemos encontrar las siguientes indicaciones:

1
2
3
4
5
6
7
8
       pstree - display a tree of processes
 
SYNOPSIS
       pstree [-a, --arguments] [-c, --compact] [-h, --highlight-all, -Hpid, --highlight-pid pid]
       [-g] --show-pgids] [-l, --long] [-n, --numeric-sort] [-N, --ns-sortns [-p, --show-pids]
       [-s, --show-parents] [-S, --ns-changes] [-u, --uid-changes] [-Z, --security-context]
       [-A, --ascii, -G, --vt100, -U, --unicode] [pid, user]
       pstree -V, --version

Veamos una salida utilizando el comando sin parámetros:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@raspberrypi:~# pstree
systemd─┬─2*[agetty]
        ├─avahi-daemon───avahi-daemon
        ├─cron
        ├─dbus-daemon
        ├─dhcpcd
        ├─fail2ban-server───2*[{fail2ban-server}]
        ├─master─┬─pickup
        │        ├─qmgr
        │        └─tlsmgr
        ├─monit───{monit}
        ├─ntpd
        ├─rsyslogd─┬─{in:imklog}
        │          ├─{in:imuxsock}
        │          └─{rs:main Q:Reg}
        ├─snmpd
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        └─thd

Con el parámetro “-a” , nos muestra la línea de comandos utilizada. Por ejemplo, si el comando utiliza la ruta a un fichero de configuración.

Por defecto se inhabilita la visualización en el árbol de los nombres repetidos. Para evitar esto, podemos utilizar el parámetro “-c

Si nos interesa podemos ver el árbol de un proceso específico, de la siguiente manera:

1
pstree -H [PID]

Un ejemplo sería:

Utilizando el parámetro “-g”, veremos los procesos agrupados por grupo.

Los datos de salida del programa están ordenados de manera alfabética. En cambio, podemos indicar que la salida sea basada en los números de PID, utilizando el parámetro “-n

Veamos una combinación de varios de los parámetros:

De forma fácil podemos ver el árbol de procesos de un usuario único, de la siguiente manera, mediante la opción “-u” :

1
2
root@raspberrypi:~# pstree -ucgn snmp
snmpd(705)

Lo dejamos aquí, espero que en algún momento os sea de utilidad. Nos vamos leyendo ^.^

Para el artículo me he servido de la siguientes fuentes:

linfo.org – The pstree Command

HowTheForge.com – Linus pstree Command Tutorial for Beginners (8 Examples)

 

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies