GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux pstree Command Tutorial für Anfänger (8 Beispiele)

Da jeder Prozess (bis auf den allerersten) in einem Linux-System einen Parent hat, ist es manchmal übersichtlicher, wenn alle Prozesse in einer Baumstruktur dargestellt werden. Es wird Sie freuen zu hören, dass es ein Befehlszeilenprogramm namens pstree gibt - das einen Baum von Prozessen anzeigt.

In diesem Tutorial werden wir die Grundlagen des Befehls pstree anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einem Ubuntu 16.04 LTS-Rechner getestet wurden.

Linux-pstree-Befehl

Wie bereits eingangs erwähnt, zeigt der Befehl pstree einen Baum von Prozessen an. Es folgt die Syntax:

pstree [options]

Und hier ist, was die Manpage des Tools darüber sagt:

       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.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Befehl pstree funktioniert:

Q1. Wie verwende ich den Befehl pstree?

Die grundlegende Verwendung ist einfach:Alles, was Sie tun müssen, ist, 'pstree' ohne jegliche Option auszuführen.

pstree

Sie können also sehen, wie pstree prozessbezogene Informationen in der Ausgabe erzeugt.

Q2. Wie bringt man pstree dazu, auch Befehlszeilenargumente in die Ausgabe aufzunehmen?

Dies kann mit der Befehlszeilenoption -a erfolgen.

pstree -a

So können Sie sehen, dass der Befehl pstree jetzt auch Befehlszeilenoptionen für einige Prozesse anzeigt.

Q3. Wie kann man pstree zwingen, identische Teilbäume in der Ausgabe zu erweitern?

Standardmäßig führt der Befehl pstree identische Zweige zusammen, indem er sie in eckige Klammern setzt und ihnen die Anzahl der Wiederholungen voranstellt. Etwa so:

Wenn Sie möchten, können Sie das Tool jedoch dazu zwingen, identische Bäume zu erweitern, was Sie mit der Befehlszeilenoption -c tun können.

pstree -c

Q4. Wie bringt man pstree dazu, einen bestimmten Prozess hervorzuheben?

Falls Sie möchten, dass das Tool einen bestimmten Prozess in der Ausgabe hervorhebt, verwenden Sie die Befehlszeilenoption -H.

pstree -H [PID]

Wobei PID die ID des Prozesses ist, den Sie hervorheben möchten. Zum Beispiel habe ich den Firefox-Prozess auf meinem System mit dem folgenden Befehl hervorgehoben:

pstree -H 3124

So können Sie sehen, dass der Name 'firefox' im Vergleich zu anderen Namen leicht hervorgehoben ist.

Q5. Wie kann pstree Prozessgruppen-IDs in der Ausgabe anzeigen?

Verwenden Sie dazu die Befehlszeilenoption -g.

pstree -g

Sie können also sehen, dass Prozessgruppen-IDs als Dezimalzahlen in Klammern nach jedem Prozessnamen angezeigt werden.

Q6. Wie erstellt man pstree-Sortierprozesse basierend auf PIDs?

Standardmäßig sortiert pstree Prozesse mit demselben Vorfahren nach Namen. Wenn Sie jedoch möchten, können Sie pstree auch Prozesse nach PIDs sortieren lassen, was Sie mit der Befehlszeilenoption -n tun können.

pstree -n

Beachten Sie, dass diese Art der Sortierung auch als numerische Sortierung bekannt ist.

Q7. Wie kann man pstree dazu bringen, den Prozessbaum benutzerspezifisch anzuzeigen?

Wenn Sie möchten, dass pstree alle Prozessbäume anzeigt, die in Prozessen verwurzelt sind, die einem bestimmten Benutzer gehören, müssen Sie lediglich den Namen dieses Benutzers als Eingabe an den Befehl übergeben.

Zum Beispiel

pstree himanshu

In diesem Fall wurde also folgende Ausgabe auf meinem System erzeugt:

Q8. Wie schränke ich Pstree auf einen bestimmten Prozess ein?

Wenn Sie möchten, dass pstree nur die Eltern- und Kindinformationen für einen bestimmten Prozess anzeigt, verwenden Sie die Option -s.

pstree -s [PID]

Zum Beispiel wollte ich die Pstree-Ausgabe nur auf den Firefox-Prozess auf meinem System beschränken, also habe ich den folgenden Befehl ausgeführt:

pstree -s 3124

Und hier ist die Ausgabe, die das Tool anzeigt:

Schlussfolgerung

Abhängig von der Art Ihrer Arbeit kann der Befehl pstree eine große Hilfe sein. Hier, in diesem Tutorial, haben wir einige wichtige Befehlszeilenoptionen besprochen, die dieses Tool bietet. Weitere Informationen finden Sie auf der Manpage.


Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux-Hostname-Befehls-Tutorial für Anfänger (5 Beispiele)

Linux Who Command Tutorial für Anfänger (8 Beispiele)

Linux nl Command Tutorial für Anfänger (7 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)