Erhalten Sie eine Momentaufnahme der Prozesse, die auf Ihrem Linux-Computer ausgeführt werden, mit dem ps
Befehl. Prozesse nach Namen lokalisieren, Benutzer oder sogar Terminal mit so vielen oder so wenigen Details, wie Sie benötigen. Wir zeigen dir wie.
Prozessmanagement unter Linux
Das 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 kombiniert werden, damit alle laufenden Prozesse ihren gerechten Anteil bekommen, entsprechend der Priorität jeder Aufgabe.
Manchmal, Aufgaben können abstürzen, in einen geschlossenen Kreislauf geraten oder aus anderen Gründen nicht mehr reagieren. Oder sie können weiterlaufen, aber sie verbrauchen zu viel CPU- oder RAM-Zeit, oder sich ebenso unsozial verhalten. Manchmal, Aufgaben sollten aus Gnade für alle Beteiligten entfernt werden. Der erste Schritt. Entschieden, ist das fragliche Verfahren zu identifizieren.
Aber vielleicht hast du gar keine Hausaufgaben oder Leistungsprobleme. Vielleicht sind Sie einfach nur neugierig, welche Prozesse in Ihrem Computer ablaufen und möchten einen Blick unter die Haube werfen. das ps
Der Befehl erfüllt beide Bedürfnisse. Gibt es dir eine Momentaufnahme dessen, was in Ihrem Computer passiert “jetzt.”
ps
ist flexibel genug, um Ihnen genau die Informationen zu liefern, die Sie benötigen, in genau dem Format, das Sie möchten. Genau genommen, ps
du hast viele möglichkeiten. Die hier beschriebenen Alternativen decken die häufigsten Bedürfnisse ab. Wenn du dich vertiefen möchtest ps
von dem, was wir in diesem Beitrag aufgenommen haben, Sie werden feststellen, dass unsere Einführung die Manpage leichter verdaulich macht.
Listungsprozesse
Der einfachste Weg zu verwenden ps
ist es ohne Parameter einzuschalten:
ps
ps
zeigt eine Liste der Prozesse an, die von dem Benutzer gestartet wurden, der den Befehl ausgeführt hat.
Die vier Spalten sind:
- PID: Die Verfahrensidentifikationsnummer des Verfahrens.
- TTY: Der Name der Konsole, an der der Benutzer angemeldet ist.
- WETTER: Die vom Verfahren verbrauchte CPU-Verarbeitungszeit.
- CMD: Der Name des Befehls, der die Prozedur gestartet hat
Listungsverfahren für alle Benutzer
das hinzufügen -e
(alle Prozesse auswählen) wir können ps
listet die Prozesse auf, die von allen Benutzern gestartet wurden, nicht nur der Benutzer, der das ausführt ps
Befehl. Denn das wird eine lange Liste, wir integrieren es in less
.
ps -e | weniger
Die Prozessliste wird weitergeleitet an less
.
Wir haben noch viele weitere Einträge in der Liste, aber wir sehen die gleichen vier Spalten wie zuvor. Einträge mit Fragezeichen ?
bei TTY
Die Spalte wurde nicht aus einem Terminalfenster gestartet.
Prozesshierarchie anzeigen
Manchmal, Sie können helfen, einen Roadblock zu beheben oder ein bestimmtes Verfahren zu identifizieren, wenn Sie sehen, welche Prozesse andere Prozesse gestartet haben. Wir nehmen das -H
(Hierarchie) Möglichkeit es zu tun.
ps -eH | weniger
Einrückung gibt an, welche Prozesse welchen anderen Prozessen übergeordnet sind.
Um etwas mehr Klarheit zu schaffen, wir können fragen ps
etwas hinzufügen ASCII Linien und die Hierarchie als Baum zu zeichnen. Die Möglichkeit dazu ist die --forest
Möglichkeit.
ps -eH --wald | weniger
Auf diese Weise lässt sich leicht nachverfolgen, welche Prozesse die Eltern anderer Prozesse sind..
Liste der Prozesse nach Namen
Sie können die Ausgabe von weiterleiten ps
durch grep
Einträge auflisten die Namen haben, die dem Suchbegriff entsprechen. jetzt. “Feuerfuchs”:
ps -e | grep Firefox
Für diesen Fall, die Ausgabe ist eine einzelne Eingabe für das Verfahren, das uns interessiert. Entschieden, wenn wir mehrere Instanzen von Firefox gestartet hätten, es würde mehr als ein Element in der Liste zurückgegeben werden.
Mehr Spalten in der Ausgabe anzeigen
So fügen Sie der Ausgabe weitere Spalten hinzu, benutze el -f
Möglichkeit (Vollformat).
ps -ef | weniger
Ein zusätzlicher Satz von Spalten ist in der Ausgabe von . enthalten ps
.
Die Spalten sind:
- UID: Benutzer-ID des Inhabers dieses Verfahrens.
- PID: Die Prozedur-ID der Prozedur.
- PPID: ID des Hauptverfahrens des Verfahrens.
- C: Die Anzahl der Kinder, die das Verfahren hat.
- WETTER: Startzeit. In dem Moment, als das Verfahren begann.
- TTY: Der Name der Konsole, an der der Benutzer angemeldet ist.
- WETTER: Die vom Verfahren verbrauchte CPU-Verarbeitungszeit.
- CMD: Der Name des Befehls, der die Prozedur gestartet hat.
Verwendung der -F
(volles Extra-Format) wir können noch mehr Spalten bekommen:
ps -eF | weniger
Die Spalten, die wir dieses Mal erhalten, erfordern ein seitliches Scrollen des Bildschirms, um sie alle anzuzeigen.
jetzt. “Rechter Pfeil”, der Bildschirm scrollt nach links.
Die Spalten, die wir jetzt erhalten, sind:
- UID: Benutzer-ID des Inhabers dieses Verfahrens.
- PID: Die Prozedur-ID der Prozedur.
- PPID: ID des Hauptverfahrens des Verfahrens.
- C: Die Anzahl der Kinder, die das Verfahren hat.
- Größe: Bildgröße der Prozedur in RAM-Seiten.
- RSS: Größe des Bewohnersets. Dies ist der unveränderte physische Speicher, der von der Prozedur verwendet wird.
- PSR: Der Auftragsverarbeiter, dem das Verfahren zugewiesen ist.
- WETTER: Startzeit. In dem Moment, als das Verfahren begann.
- TTY: Der Name der Konsole, an der der Benutzer angemeldet ist.
- WETTER: Die vom Verfahren verbrauchte CPU-Verarbeitungszeit.
- CMD: Der Name des Befehls, der die Prozedur gestartet hat.
Liste der Prozesse nach Prozedur-ID
Sobald Sie die Verfahrens-ID für das Verfahren gefunden haben, an dem Sie interessiert sind, Sie können es mit verwenden ps
Befehl, um die Details dieser Prozedur aufzulisten. Verwenden Sie die -p
(Wählen Sie nach Verfahrens-ID) Möglichkeit, dies zu erreichen:
ps -p 3403
Details zu diesem Verfahren sind aufgeführt:
Sie sind nicht auf eine Verfahrens-ID beschränkt. Sie können eine Liste von Prozess-IDs bereitstellen, durch Leerzeichen getrennt.
Liste der Prozesse nach Befehl
das -C
Die Option (Befehl) ermöglicht die Suche nach einer Prozedur anhand des Befehlsnamens. Mit anderen Worten, der Name des Befehls, der die Prozedur gestartet hat. Dies unterscheidet sich subtil von der Befehlszeile, die Pfadnamen und Parameter oder Optionen enthalten können.
ps -C Verschluss
Details zum Verschlussverfahren sind aufgeführt.
Liste der Prozesse, die einem Benutzer gehören
So zeigen Sie die Prozesse an, die einem bestimmten Benutzer gehören, benutze el -u
(Benutzerliste) Möglichkeit:
ps - du maria
Die Prozesse, die dem Mary-Benutzerkonto gehören, werden angezeigt.
Liste der Prozesse nach Terminal
So zeigen Sie die mit einem TTY verknüpften Prozesse an, benutze el -t
(wählen nach TTY) Möglichkeit. Wird ohne TTY-Nummer verwendet, das -t
Die Option berichtet über die Prozesse, die mit dem aktuellen Terminalfenster verbunden sind.
tty
PST
das tty
Befehl meldet, dass dies ein Pseudoticker ist 0. Die von . aufgelisteten Prozesse ps -t
sind alle mit TTY . verbunden pts/0
.
Wenn wir eine TTY-Nummer auf der Befehlszeile übergeben, wir sollten einen Bericht über die mit diesem TTY verbundenen Prozesse erhalten.
PST 1
Diesmal sind alle Prozesse mit TTY verbunden pts/1
.
VERBUNDEN: Was ist ein TTY unter Linux?? (und wie man den tty-Befehl verwendet)
Wählen Sie die anzuzeigenden Spalten aus
Mit dem -o
(Format) Sie können die Spalten auswählen, die Sie in die Ausgabe von einschließen möchten ps
. Spalten werden nach Namen angegeben. Die Liste (lang) Spaltennamen sind in der zu sehen Handbuchseite jetzt. “jetzt.”. In diesem Beispiel, Wir entscheiden uns für die CPU-Zeit (pcpu
) und die Kommandozeile mit Argumenten (args
) in der Ausgabe enthalten.
ps -e -o pcpu,args | weniger
Die Ausgabe enthält nur unsere beiden angeforderten Spalten.
Sortieren Sie die Ausgabe nach Spalten
Sie können die Ausgabe für Sie sortieren, indem Sie die --sort
Möglichkeit. Sortieren wir die Ausgabe nach der CPU-Spalte:
ps -e -o pcpu,args --sort -pcpu| weniger
jetzt. “-
” über ihn pcpu
Der Parameter sort gibt eine absteigende Sortierreihenfolge an.
So sehen Sie die zehn CPU-intensivsten Prozesse, kanalisieren Sie den Auslass durch die head
Befehl:
ps -e -o pcpu,args --sort -pcpu | Kopf -10
Wir bekommen eine geordnete und abgeschnittene Liste.
Wenn wir unserem Bildschirm weitere Spalten hinzufügen, wir können nach mehr Spalten sortieren. Fügen wir die hinzu pmem
Säule. Dies ist der Prozentsatz des Computerspeichers, der von der Prozedur verwendet wird.. jetzt. ” +
“, Sortierreihenfolge ist aufsteigend.
ps -e -o pcpu,pmem,args --sort -pcpu,pmem | Kopf -10
Wir bekommen unsere zusätzliche Spalte und die neue Spalte wird in die Klassifizierung aufgenommen. Die erste Spalte wird vor der zweiten Spalte sortiert, und die zweite Spalte ist aufsteigend sortiert, da wir keinen Bindestrich eingefügt haben pmem
.
Machen wir es etwas nützlicher und fügen wir die Prozedur-ID-Spalte hinzu (pid
) damit wir die Verfahrensnummer jedes Verfahrens in unserer Liste sehen können.
ps -e -o pid,pcpu,pmem,args --sort -pcpu,pmem | Kopf -10
Jetzt können wir die Prozesse identifizieren.
Töte Prozesse nach Prozedur-ID
Wir haben eine Reihe von Alternativen abgedeckt, um Prozesse zu identifizieren, inklusive Name, der Befehl, Benutzer und Endgerät. Wir decken auch Alternativen ab, um Prozesse anhand ihrer dynamischen Attribute zu identifizieren, wie CPU- und Speichernutzung.
Dann, in gewisser Weise, Wir können die laufenden Prozesse identifizieren. Kenntnis Ihrer Verfahrens-ID, wir können (Falls erforderlich) Löschen Sie einen dieser Prozesse mit der kill
Befehl. Wenn wir das Verfahren töten wollten 898, Wir würden dieses Format verwenden:
sudo töten 898
Wenn alles gut geht, die Prozedur endet stumm.
VERBUNDEN: So beenden Sie Prozesse vom Linux-Terminal aus
Prozesse nach Namen beenden
das pkill
der Befehl ermöglicht es Ihnen Prozesse nach Namen beenden. Stellen Sie sicher, dass Sie das richtige Verfahren identifiziert haben! Dieser Befehl beendet den oberen Vorgang.
sudo pkill top
Ein Mal noch, keine Nachrichten zu haben ist eine gute Nachricht. Der Vorgang endet stumm.
Töte mehrere Prozesse nach Namen
Wenn Sie mehrere Kopien einer laufenden Prozedur haben, oder eine Prozedur hat mehrere untergeordnete Prozesse hervorgebracht (Wie kann Google Chrome tun?), Wie kann man sie entfernen? Das ist genauso einfach. Wir nehmen das killall
Befehl.
Wir haben zwei Kopien von Top Running:
ps -e | Griff oben
Wir können fertig werden beides mit diesem Befehl:
sudo killall top
Wenn es keine Antwort gibt, keine Probleme, also sind beide Prozesse beendet.
Erhalten Sie eine dynamische Ansicht mit der Oberseite
Die Ausgabe von ps
es ist eine Schnappschussansicht. Es wird nicht aktualisiert. Um einen aktuellen Überblick über Ihre Prozesse zu erhalten, Verwenden Sie die top
Befehl. Bietet ein dynamische Ansicht der auf Ihrem Computer laufenden Prozesse. Der Bildschirm ist in zwei Teile unterteilt. Am oberen Bildschirmrand befindet sich ein Dashboard-Bereich, der aus Textzeilen besteht, und eine Tabelle am unteren Bildschirmrand, die aus Spalten besteht.
Start top
mit diesem Befehl:
oben
Die Spalten enthalten Informationen zu den Prozessen:
- PID: Verfahrensidentifikation
- NUTZERNAME: Name des Inhabers des Verfahrens
- PR: Prioritätsverfahren
- NI: Der gute Wert des Verfahrens
- VIRT: Von der Prozedur verwendeter virtueller Speicher
- RES: Von der Prozedur verwendeter residenter Speicher
- SHR: Von der Prozedur verwendeter gemeinsamer Speicher
- S: Stand des Verfahrens. Siehe die Liste unten mit den Werten, die dieses Feld annehmen kann
- %UPC: der Prozentsatz der CPU-Zeit, die von der Prozedur seit der letzten Aktualisierung verwendet wurde
- % MEM: Prozentsatz des verwendeten physischen Speichers
- WETTER +: Gesamte CPU-Zeit, die von der Aufgabe verwendet wird, in Hundertstelsekunden
- BEFEHL: Befehlsname oder Befehlszeile (Befehlszeilenname und Parameter) Wenn Sie die Befehlsspalte nicht sehen können, drücke die "Rechtspfeil"-Taste.
Der Verfahrensstatus kann einer der folgenden sein:
- D: Ununterbrochener Schlaf
- R: In Eile
- S: Schlafend
- T: Verfolgung (gestoppt)
- MIT: Zombie
Drücken Sie die Taste “Q” jetzt. top
.
VERBUNDEN: 37 Wichtige Linux-Befehle, die Sie kennen sollten
Vor dem Töten einer Prozedur
Stellen Sie sicher, dass es das ist, wonach Sie suchen, und stellen Sie sicher, dass es Ihnen keine Probleme bereitet. Bestimmtes, Es ist wichtig, hervorzuheben, konsultieren Sie die -H
(Hierarchie) und --forest
Optionen, um sicherzustellen, dass Sie keine wichtigen untergeordneten Prozesse haben, die Sie vergessen haben.