GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de comandos pstree de Linux para principiantes (8 ejemplos)

Dado que cada proceso (excepto el primero) en un sistema Linux tiene un padre, a veces hace que las cosas sean más fáciles de entender si todos los procesos se muestran en una estructura de árbol. Te alegrará saber que existe una utilidad de línea de comandos, denominada pstree - que muestra un árbol de procesos.

En este tutorial, discutiremos los conceptos básicos del comando pstree utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí se han probado en una máquina con Ubuntu 16.04 LTS.

Comando Linux pstree

Como ya se mencionó al principio, el comando pstree muestra un árbol de procesos. La siguiente es su sintaxis:

pstree [options]

Y esto es lo que dice la página de manual de la herramienta al respecto:

       pstree shows running processes as a tree.  The tree is rooted at either
       pid  or  init  if  pid  is  omitted.   If a user name is specified, all
       process trees rooted at processes owned by that user are shown.

       pstree visually merges identical branches by  putting  them  in  square
       brackets and prefixing them with the repetition count, e.g.

           init-+-getty
                |-getty
                |-getty
                `-getty

       becomes

           init---4*[getty]

       Child  threads  of a process are found under the parent process and are
       shown with the process name in curly braces, e.g.

           icecast2---13*[{icecast2}]

       If pstree is called as pstree.x11 then it will prompt the user  at  the
       end of the line to press return and will not return until that has hap?
       pened.  This is useful for when pstree is run in a xterminal.

       Certain kernel or mount parameters, such  as  the  hidepid  option  for
       procfs,  will  hide information for some processes. In these situations
       pstree will attempt to build the tree without this information, showing
       process names as question marks.

Los siguientes son algunos ejemplos con estilo de preguntas y respuestas que le darán una buena idea de cómo funciona el comando pstree:

P1. ¿Cómo usar el comando pstree?

El uso básico es simple:todo lo que tiene que hacer es ejecutar 'pstree' sin ninguna opción.

pstree

Entonces puede ver que así es como pstree produce información relacionada con el proceso en la salida.

P2. ¿Cómo hacer que pstree también incluya argumentos de línea de comando en la salida?

Esto se puede hacer usando la opción de línea de comando -a.

pstree -a

Entonces puede ver que el comando pstree ahora también muestra opciones de línea de comandos para algunos procesos.

P3. ¿Cómo forzar a pstree a expandir subárboles idénticos en la salida?

De forma predeterminada, el comando pstree fusiona ramas idénticas colocándolas entre corchetes y prefijándolas con el recuento de repeticiones. Algo como esto:

Sin embargo, si lo desea, puede obligar a la herramienta a expandir árboles idénticos, algo que puede hacer con la opción de línea de comando -c.

pstree -c

P4. ¿Cómo hacer que pstree resalte un proceso específico?

En caso de que desee que la herramienta resalte un proceso específico en la salida, use la opción de línea de comando -H.

pstree -H [PID]

Donde PID es el ID del proceso que desea resaltar. Por ejemplo, resalté el proceso de Firefox en mi sistema usando el siguiente comando:

pstree -H 3124

Para que pueda ver que el nombre 'firefox' está ligeramente resaltado en comparación con otros nombres.

P5. ¿Cómo hacer que pstree muestre ID de grupos de procesos en la salida?

Para ello, utilice la opción de línea de comando -g.

pstree -g

Entonces puede ver que los ID de grupos de procesos se muestran como números decimales entre paréntesis después de cada nombre de proceso.

P6. ¿Cómo hacer procesos de ordenación de pstree basados ​​en PID?

Por defecto, pstree ordena los procesos con el mismo ancestro por nombre. Sin embargo, si lo desea, también puede tener procesos de clasificación de pstree por PID, algo que puede hacer usando la opción de línea de comando -n.

pstree -n

Tenga en cuenta que este tipo de clasificación también se conoce como clasificación numérica.

P7. ¿Cómo hacer que el árbol de procesos de visualización de pstree sea específico para un usuario?

Si desea que pstree muestre todos los árboles de procesos enraizados en los procesos que pertenecen a un usuario específico, todo lo que tiene que hacer es pasar el nombre de ese usuario como entrada al comando.

Por ejemplo,

pstree himanshu

Entonces, en este caso, se produjo el siguiente resultado en mi sistema:

P8. ¿Cómo restringir Pstree a un proceso específico?

Si desea que pstree muestre solo la información principal y secundaria para un proceso específico, use la opción -s.

pstree -s [PID]

Por ejemplo, quería limitar la salida de Pstree solo al proceso de Firefox en mi sistema, así que ejecuté el siguiente comando:

pstree -s 3124

Y aquí está el resultado que muestra la herramienta:

Conclusión

Dependiendo del tipo de trabajo que realice, el comando pstree puede ser de gran ayuda. Aquí, en este tutorial, hemos discutido algunas opciones clave de la línea de comandos que ofrece esta herramienta. Para obtener más información, diríjase a su página de manual.


Linux
  1. Tutorial de comando cd de Linux para principiantes (8 ejemplos)

  2. Tutorial de comandos de comunicación de Linux para principiantes (5 ejemplos)

  3. Tutorial de comando Linux df para principiantes (8 ejemplos)

  4. Tutorial de comando de fecha de Linux para principiantes (8 ejemplos)

  5. Tutorial de comando de nombre de host de Linux para principiantes (5 ejemplos)

Linux who Command Tutorial para principiantes (8 ejemplos)

Tutorial de comandos Linux nl para principiantes (7 ejemplos)

Tutorial de comandos de Linux nm para principiantes (10 ejemplos)

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)