Ein Terminalfenster auf einem Linux-Laptop.

Fatmawati Achmad Zaenuri/Shutterstock

Erhalten Sie eine Momentaufnahme der Prozesse, die auf Ihrem Linux-Computer ausgeführt werden, mit dem |_+_| Befehl . Lokalisieren Sie Prozesse nach Name, Benutzer oder sogar Terminal mit so vielen oder wenigen Details, wie Sie benötigen. Wir zeigen Ihnen wie.



Prozessmanagement unter Linux

Das schlagende Herz aller Linux- und Unix-ähnlichen Betriebssysteme ist der Kernel. Zu seinen vielen Aufgaben gehört die Zuweisung von Systemressourcen wie RAM und CPU-Zeit. Diese müssen in Echtzeit jongliert werden, damit alle laufenden Prozesse entsprechend der Priorität jeder Aufgabe ihren gerechten Anteil erhalten.

Manchmal können Aufgaben blockiert werden, in eine enge Schleife geraten oder aus anderen Gründen nicht mehr reagieren. Oder sie laufen weiter, verschlingen aber zu viel CPU-Zeit oder RAM oder verhalten sich ähnlich unsozial. Manchmal müssen Aufgaben aus Gnade für alle Beteiligten erledigt werden. Der erste Schritt. Natürlich ist der betreffende Prozess zu identifizieren.

Aber vielleicht haben Sie überhaupt keine Aufgaben- oder Leistungsprobleme. Vielleicht sind Sie einfach nur neugierig, welche Prozesse in Ihrem Computer laufen, und möchten einen Blick unter die Haube werfen. Die |_+_| Befehl erfüllt beide Anforderungen. Es gibt dir eine Momentaufnahme dessen, was in Ihrem Computer passiert im Augenblick.

|_+_| ist flexibel genug, um Ihnen genau die Informationen, die Sie benötigen, in genau dem gewünschten Format bereitzustellen. Tatsächlich |_+_| hat sehr viele Möglichkeiten. Die hier beschriebenen Optionen erfüllen die häufigsten Anforderungen. Wenn Sie tiefer in |_+_| . einsteigen müssen als wir in diesem Artikel aufgenommen haben, werden Sie feststellen, dass unsere Einführung die Manpage leichter verdaulich macht.

Listing-Prozesse

Der einfachste Weg, |_+_| . zu verwenden ist, es ohne Parameter zu starten:

ps

Anzeige

|_+_| zeigt eine Liste der Prozesse an, die von dem Benutzer gestartet wurden, der den Befehl ausgeführt hat.

Die vier Spalten sind:

    PID: Die Prozess-ID-Nummer des Prozesses. TTY: Der Name der Konsole, an der der Benutzer angemeldet ist. ZEIT: Die CPU-Verarbeitungszeit, die der Prozess verwendet hat. CMD: Der Name des Befehls, der den Prozess gestartet hat

Listungsprozess für alle Benutzer

durch Hinzufügen von |_+_| (alle Prozesse auswählen) können wir |_+_| listet die Prozesse auf, die von allen Benutzern gestartet wurden, nicht nur der Benutzer, der |_+_| . ausführt Befehl. Da dies eine lange Liste werden wird, leiten wir sie in |_+_| ein.

ps

Die Prozessliste wird in |_+_| geleitet.

Wir haben viel mehr Einträge in der Liste, aber wir sehen die gleichen vier Spalten wie zuvor. Die Einträge mit einem Fragezeichen |_+_| im |_+_| Spalte wurden nicht aus einem Terminalfenster gestartet.

Prozesshierarchie anzeigen

Manchmal kann es hilfreich sein, ein Problem herauszufinden oder einen bestimmten Prozess zu identifizieren, wenn Sie sehen können, welche Prozesse andere Prozesse gestartet haben. Wir verwenden die |_+_| (Hierarchie) Möglichkeit dazu.

ps

Die Einrückung gibt an, welche Prozesse welchen anderen Prozessen übergeordnet sind.

Anzeige

Um etwas mehr Klarheit zu schaffen, können wir |_+_| . fragen einige hinzufügen ASCII Linien und die Hierarchie als Baum zu zeichnen. Die Option dazu ist die |_+_| Möglichkeit.

ps

Dies macht es einfacher zu verfolgen, welche Prozesse die Eltern anderer Prozesse sind.

Prozesse nach Namen auflisten

Sie können die Ausgabe von |_+_| . weiterleiten bis |_+_| Einträge auflisten die Namen haben, die dem Suchbegriff entsprechen . Hier suchen wir nach Einträgen, die dem Firefox-Suchbegriff entsprechen:

ps

In diesem Fall ist die Ausgabe ein einzelner Eintrag für den Prozess, an dem wir interessiert sind. Wenn wir mehrere Instanzen von Firefox gestartet hätten, würde natürlich mehr als ein Element in der Liste zurückgegeben.

Mehr Spalten in der Ausgabe anzeigen

Um der Ausgabe weitere Spalten hinzuzufügen, verwenden Sie |_+_| (Vollformat)-Option.

ps

Ein zusätzlicher Satz von Spalten ist in der Ausgabe von |_+_| enthalten.

Die Spalten sind:

    UID: Die Benutzer-ID des Eigentümers dieses Prozesses. PID: Die Prozess-ID des Prozesses. PPID: ID des übergeordneten Prozesses des Prozesses. C: Die Anzahl der Kinder, die der Prozess hat. SCHÄTZUNGEN: Startzeit. Der Zeitpunkt, zu dem der Prozess begonnen hat. TTY: Der Name der Konsole, an der der Benutzer angemeldet ist. ZEIT: Die CPU-Verarbeitungszeit, die der Prozess verwendet hat. CMD: Der Name des Befehls, der den Prozess gestartet hat.
Anzeige

Mit dem |_+_| (extra full format) Option können wir noch mehr Spalten erhalten:

ps

Die Spalten, die wir dieses Mal erhalten, erfordern ein seitliches Scrollen des Bildschirms, um sie alle anzuzeigen.

Durch Drücken der rechten Pfeiltaste wird die Anzeige nach links verschoben.

Die Spalten, die wir jetzt erhalten, sind:

    UID: Die Benutzer-ID des Eigentümers dieses Prozesses. PID: Die Prozess-ID des Prozesses. PPID: ID des übergeordneten Prozesses des Prozesses. C: Die Anzahl der Kinder, die der Prozess hat. S: Größe in RAM-Seiten des Prozessabbilds. RSS: Größe des residenten Satzes. Dies ist der nicht ausgetauschte physische Speicher, der vom Prozess verwendet wird. PSR: Der Prozessor, dem der Prozess zugewiesen ist. SCHÄTZUNGEN: Startzeit. Der Zeitpunkt, zu dem der Prozess begonnen hat. TTY: Der Name der Konsole, an der der Benutzer angemeldet ist. ZEIT: Die CPU-Verarbeitungszeit, die der Prozess verwendet hat. CMD: Der Name des Befehls, der den Prozess gestartet hat.

Auflisten von Prozessen nach Prozess-ID

Wenn Sie die Prozess-ID für den gewünschten Prozess gefunden haben, können Sie diese mit dem |_+_| . verwenden Befehl, um die Details dieses Prozesses aufzulisten. Verwenden Sie die |_+_| (nach Prozess-ID auswählen), um dies zu erreichen:

-e

Die Details für diesen Vorgang sind aufgeführt:

Sie sind nicht auf eine Prozess-ID beschränkt. Sie können eine durch Leerzeichen getrennte Liste von Prozess-IDs bereitstellen.

Prozesse nach Befehl auflisten

Die |_+_| Mit der Option (Befehl) können Sie mithilfe des Befehlsnamens nach einem Prozess suchen. Das heißt, der Name des Befehls, der den Prozess gestartet hat. Dies unterscheidet sich subtil von der Befehlszeile, die Pfadnamen und Parameter oder Optionen enthalten kann.

ps

Die Details für den Verschlussvorgang werden aufgelistet.

Auflisten von Prozessen, die einem Benutzer gehören

Um die Prozesse anzuzeigen, die einem bestimmten Benutzer gehören, verwenden Sie |_+_| (Benutzerliste) Option:

ps

Anzeige

Die Prozesse des Benutzerkontos mary werden angezeigt.

Welches Dateisystem verwendet Linux?

Listing-Prozesse nach Terminal

Um die mit einem TTY verknüpften Prozesse anzuzeigen, verwenden Sie |_+_| (nach TTY auswählen) Option. Wird ohne TTY-Nummer verwendet, die |_+_| Option Berichte über Prozesse, die mit dem aktuellen Terminalfenster verbunden sind.

less less

Die |_+_| Befehl meldet, dass dies Pseudo-Teletyp 0 ist. Die von |_+_| . aufgelisteten Prozesse sind alle mit TTY |_+_| verknüpft.

Wenn wir eine TTY-Nummer in der Befehlszeile übergeben, sollten wir einen Bericht über die mit diesem TTY verbundenen Prozesse erhalten.

?

Diesmal sind die Prozesse alle mit TTY |_+_| verknüpft.

VERBUNDEN: Was ist ein TTY unter Linux? (und wie man den tty-Befehl verwendet)

Auswählen der anzuzeigenden Spalten

Mit dem |_+_| (Format) Option können Sie auswählen, welche Spalten Sie in die Ausgabe von |_+_| einschließen möchten. Sie geben die Spalten nach Namen an. Die (lange) Liste der Spaltennamen kann auf der Seite eingesehen werden man-Seite im Abschnitt mit dem Titel Standardformatbezeichner. In diesem Beispiel wählen wir aus, dass die CPU-Zeit (|_+_|) und die Befehlszeile mit Argumenten (|_+_|) in der Ausgabe enthalten sind.

TTY

Die Ausgabe enthält nur unsere beiden angeforderten Spalten.

Sortieren der Ausgabe nach Spalten

Sie können die Ausgabe für sich sortieren lassen, indem Sie die |_+_| Möglichkeit. Sortieren wir die Ausgabe nach der CPU-Spalte:

-H

Der Bindestrich |_+_| am |_+_| sort-Parameter gibt eine absteigende Sortierreihenfolge an.

Um die zehn CPU-intensivsten Prozesse anzuzeigen, leiten Sie die Ausgabe durch die |_+_| Befehl :

ps

Wir erhalten eine sortierte, abgeschnittene Liste.

Wenn wir unserer Anzeige weitere Spalten hinzufügen, können wir nach weiteren Spalten sortieren. Fügen wir die |_+_| . hinzu Säule. Dies ist der Prozentsatz des Computerspeichers, der von dem Prozess verwendet wird. Ohne Bindestrich oder mit Pluszeichen |_+_| ist die Sortierreihenfolge aufsteigend.

--forest

Wir erhalten unsere zusätzliche Spalte, und die neue Spalte wird in die Sortierung einbezogen. Die erste Spalte wird vor der zweiten Spalte sortiert und die zweite Spalte wird in aufsteigender Reihenfolge sortiert, da wir keinen Bindestrich auf |_+_| gesetzt haben.

Anzeige

Machen wir es etwas nützlicher und fügen Sie die Prozess-ID-Spalte (|_+_|) hinzu, damit wir die Prozessnummer jedes Prozesses in unserer Liste sehen können.

ps

Jetzt können wir die Prozesse identifizieren.

Ausgabe von ps -e -o pid,pcpu,pmem,args --sort -pcpu,pmem | Kopf 10

Killing-Prozesse nach Prozess-ID

Wir haben eine Reihe von Möglichkeiten zur Identifizierung von Prozessen behandelt, darunter Name, Befehl, Benutzer und Terminal. Wir haben auch Möglichkeiten behandelt, Prozesse anhand ihrer dynamischen Attribute wie CPU-Auslastung und Arbeitsspeicher zu identifizieren.

So können wir auf die eine oder andere Weise die laufenden Prozesse identifizieren. Wenn wir ihre Prozess-ID kennen, können wir (falls erforderlich) Töte einen dieser Prozesse mit dem |_+_| Befehl. Wenn wir den Prozess 898 beenden wollten, würden wir dieses Format verwenden:

grep

Wenn alles gut geht, wird der Vorgang stillschweigend beendet.

VERBUNDEN: So beenden Sie Prozesse über das Linux-Terminal

Tötungsprozesse nach Namen

Die |_+_| Befehl ermöglicht es Ihnen Prozesse nach Namen beenden . Stellen Sie sicher, dass Sie den richtigen Prozess identifiziert haben! Dieser Befehl beendet den obersten Prozess.

-f

Auch hier ist keine Nachricht eine gute Nachricht. Der Vorgang wird stillschweigend beendet.

Beenden mehrerer Prozesse nach Namen

Wenn mehrere Kopien eines Prozesses ausgeführt werden oder ein Prozess eine Reihe von untergeordneten Prozessen hervorgebracht hat (wie es Google Chrome tun kann), wie können Sie sie beenden? Das ist genauso einfach. Wir verwenden die |_+_| Befehl.

Wir haben zwei Kopien von Top Running:

ps

Wir können kündigen beide mit diesem Befehl :

-F

Anzeige

Keine Antwort bedeutet keine Probleme, daher wurden beide Prozesse beendet.

Ausgabe von sudo killall top in einem Terminalfenster

Holen Sie sich eine dynamische Ansicht mit top

Die Ausgabe von |_+_| ist eine Snapshot-Ansicht. Es wird nicht aktualisiert. Um eine aktualisierte Ansicht der Prozesse zu erhalten, verwenden Sie |_+_| Befehl. Es bietet eine dynamische Ansicht der Prozesse, die in Ihrem Computer ausgeführt werden . Die Anzeige ist zweigeteilt. Am oberen Bildschirmrand befindet sich ein Dashboard-Bereich, der aus Textzeilen besteht, und eine Tabelle im unteren Bereich des Bildschirms, die aus Spalten besteht.

Start |_+_| mit diesem Befehl:

ps

Die Spalten enthalten Informationen zu den Prozessen:

    PID: Prozess ID NUTZER: Name des Inhabers des Prozesses PR: Prozesspriorität NI: Der schöne Wert des Prozesses RESPEKTIERTE: Vom Prozess verwendeter virtueller Speicher RINDFLEISCH: Vom Prozess verwendeter residenter Speicher SHR: Vom Prozess verwendeter gemeinsamer Speicher S: Status des Prozesses. Siehe die Liste unten mit den Werten, die dieses Feld annehmen kann %ZENTRALPROZESSOR: der Anteil der vom Prozess seit dem letzten Update verbrauchten CPU-Zeit %MEM: Anteil des verwendeten physischen Speichers ZEIT+: Gesamte CPU-Zeit, die von der Aufgabe verwendet wird, in Hundertstelsekunden BEFEHL: Befehlsname oder Befehlszeile (Name und Befehlszeilenparameter) Wenn die Befehlsspalte nicht angezeigt wird, drücken Sie die rechte Pfeiltaste.

Der Status des Prozesses kann einer der folgenden sein:

    D: Ununterbrochener Schlaf R: Betrieb S: Schlafen T: verfolgt (gestoppt) MIT: Zombie

Drücken Sie die Q-Taste, um |_+_| zu verlassen.

VERBUNDEN: 37 wichtige Linux-Befehle, die Sie kennen sollten

Bevor Sie einen Prozess beenden

Stellen Sie sicher, dass es das ist, wonach Sie suchen, und stellen Sie sicher, dass es Ihnen keine Probleme bereiten wird. Insbesondere lohnt es sich, mit dem |_+_| (Hierarchie) und |_+_| Optionen, um sicherzustellen, dass es keine wichtigen untergeordneten Prozesse gibt, die Sie vergessen haben.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN