Läuft Ihr Linux-System langsam? Oder bist du nur neugierig, was unter der Haube passiert? Es gibt ein leistungsstarkes Programm namens "ps", mit dem Benutzer eine Momentaufnahme der Prozesse auf einem System anzeigen können. Wir besprechen einige der Optionen, die für ps zur Verfügung stehen, und nach Abschluss sollten Sie in der Lage sein, laufende Prozesse auf Ihrem Linux-Computer wie einen erfahrenen Nerd zu überprüfen.

Einführung

Die meisten Versionen von ps akzeptieren BSD-Optionen (die gruppiert werden können und NICHT mit einem Bindestrich verwendet werden dürfen), UNIX-Optionen (die gruppiert werden können und mit einem Bindestrich verwendet werden müssen) und lange GNU-Optionen (denen zwei vorangestellt sind) Bindestriche). In diesem Artikel werden wir mehrere Optionstypen mischen und verwenden, wobei die UNIX-Stile im Vordergrund stehen. Beispielsweise:

 ps -u Wurzel u -sort = pid 
  • UNIX STYLE -u root gibt user = root an
  • BSD STYLE u spezifiziert die Anzeige des benutzerorientierten Formats. Dies ist eine bevorzugte Option, da das Ausgabeformat, das mit diesem erzeugt wird, einige sehr nützliche Informationen enthält.
  • GNU LONG OPTION –sort gibt die Sortierreihenfolge des Prozesses an. Sortierung nach Prozess-ID (pid)

Dieser Artikel würde UNIX-Optionen bevorzugen und BSD nur der Kürze wegen verwenden. Zum Beispiel der Befehl

 ps u 

zeigt die Prozesse des aktuellen Benutzers, die an ein Terminal angeschlossen sind, mit einem "benutzerorientierten" Ausgabeformat. Um das gleiche Ausgabeformat mit UNIX-Optionen zu erhalten, ist die Option erforderlich

 ps -o "Benutzer, pid, pcpu, pmem, vsz, rss, tty, stat, bsdstart, bsdtime, args" 

Diese Argumentation der Option "-o" lautet:

  • Benutzer - die effektive Benutzer-ID oder der Benutzername des Prozesses
  • pid - die Prozess-ID
  • pcpu - die vom Prozess verwendete CPU-Zeit geteilt durch die Zeit, die der Prozess ausgeführt wurde
  • PMEM - der Prozentsatz des physischen Speichers, der vom Prozess verwendet wird
  • vsz - die Größe des virtuellen Speichers des Prozesses
  • rss - der nicht vertauschte physische Speicher, den der Prozess verwendet hat
  • tty - das kontrollierende Terminal des Prozesses
  • stat - der Prozessstatus, der mithilfe von Prozessstatuscodes bestimmt wird (lesen Sie die Manpages für weitere Informationen)
  • start_time - die Zeit, zu der der Befehl gestartet wurde
  • Zeit - die kumulative CPU-Zeit, die vom Prozess verwendet wird
  • args - Der Befehl, mit dem der Prozess ausgeführt wird, und seine Argumente. (Dies ist ein Grund, warum es nie eine gute Idee ist, einen Befehl auszuführen und Ihr Kennwort als Befehlszeilenargument einzugeben. Jeder andere Benutzer auf dem System kann ps ausführen und die ausgeführten Befehle zusammen mit allen übergebenen Optionen und Argumenten sehen ).

Die Konvention, die fortan verwendet wird, ist der Befehl (ps) gefolgt von der BSD-Option 'u', um die Ausgabeformatierung und dann die UNIX- und GNU-Optionen nach Bedarf festzulegen.

Einige 'PS' Optionen

Das Ausführen von 'ps' ohne Argumente zeigt eine Liste von Prozessen mit derselben Benutzer-ID wie der Aufrufer, die dem gleichen Terminal wie der Aufrufer zugeordnet sind.

Um alle laufenden Prozesse anzuzeigen:

 psu -e 

So zeigen Sie alle Prozesse des aktuellen Benutzers an:

 psu -u `whoami` 

Um alle Prozesse vom aktuellen Benutzer anzuzeigen, aber sortiert nach CPU-Nutzung (absteigend).

HINWEIS: Im folgenden Befehl verwenden wir '-pcpu', um die prozentuale CPU-Nutzung absteigend zu erreichen. Verwenden Sie zum Aufsteigen '+ pcpu' oder nur 'pcpu'. Konsultieren Sie die man-Seiten für zusätzliche Sortierungsangaben. Einige gebräuchliche sind pmem (Speichernutzung), start_time (Zeit, zu der der Befehl ausgeführt wurde) und time (Menge der vom Befehl verwendeten CPU-Zeit).

 psu -u `whoami` --sort = -pcpu 

Um alle Prozesse vom aktuellen Benutzer in einem Baumformat anzuzeigen:

 psu-jH -u `whoami` 

Mithilfe von Pipes können ps mit head kombiniert werden, um die wichtigsten Prozesse anzuzeigen. Der nächste Befehl sortiert zuerst nach Speichernutzung und dann durch Pipes durch den Kopf, um die Prozesse anzuzeigen, die den meisten Speicher verwenden. Head zeigt standardmäßig die ersten zehn Zeilen an, daher zeigt dieser Befehl die ersten neun Prozesse an (der Ausgabe-Header ist die erste Zeile).

Hinweis: "% mem" und "pmem" sind synonym, ebenso wie "% cpu" und "pcpu".

 psu -u `whoami` --sort = -% mem | Kopf 

Um dasselbe für alle Prozesse unabhängig vom Benutzer -e, verwenden Sie die Option -e :

 psu -e --sort = -% mem | Kopf 

Fazit

Es gibt buchstäblich Hunderte von Optionen (obwohl einige Aliase sind), und wir würden gerne hören und sehen, Ihre bevorzugten Nutzungsweisen. Bitte teilen Sie die Kommentare unten.