Alles, was auf einem Linux-System ausgeführt wird, von einer Benutzeranwendung bis zu einem Systemdienst, ist ein eigener Prozess. Selbst wenn Ihr Computer auf einem leeren Terminalbildschirm sitzt, laufen zweifellos eine Reihe von Prozessen im Hintergrund. Es gibt verschiedene Linux-Tools, mit denen wir alle Prozesse auf unserem System identifizieren können. Dies wird in diesem Handbuch behandelt.
Wenn Sie wissen, wie Sie nach laufenden Prozessen suchen, können Sie dies tun Überprüfen Sie, ob etwas ausgeführt wird, beenden Sie es gegebenenfalls und überwachen Sie die Auswirkungen auf die Ressourcen Ihres Systems (CPU und RAM).
Auflisten von Prozessen mit dem Befehl ps
Der Befehl ps Mit der Option -e können alle auf einem Linux-System ausgeführten Prozesse aufgelistet werden.
ps -e
Es ist normal, dass auf einem System eine große Anzahl von Prozessen ausgeführt wird Zu jedem Zeitpunkt ist es einfacher, diese Liste zu durchsuchen, indem Sie den Befehl an more weiterleiten. So können Sie beispielsweise 15 Zeilen gleichzeitig anzeigen:
ps -e | more -15
Die Ausgabe von ps zeigt uns jeden laufenden Prozess, seine jeweilige Prozess-ID (abgekürzt als PID) und die TTY (Terminalschnittstelle, auf der der Prozess ausgeführt wird). Ein Fragezeichen in der Spalte TTY bedeutet, dass der Prozess nicht „t“ ist an ein Terminal angeschlossen int erface – es wird nur im Hintergrund ausgeführt.
Möglicherweise müssen Sie die PID eines Prozesses kennen, um ihn zu beenden, oder die TTY, damit Sie zum offenen Prozess zurückkehren können, indem Sie erneut die richtige Verbindung herstellen Terminalfenster.
Eine weitere nützliche Option bei ps ist die Option -aux.
ps -aux
Wie bei der vorherigen Option werden alle Prozesse aufgelistet läuft auf Ihrem System. Es werden jedoch auch die aktuelle CPU- und RAM-Auslastung jedes Prozesses sowie der Befehl aufgelistet, der jeden Prozess ausgelöst hat.
Suchen eines Prozesses mit pgrep
Die pgrep-Befehlsart kombiniert ps und grep für uns. Wir können den Namen – oder einen Teil eines Namens – eines Prozesses angeben, nach dem wir suchen, und pgrep gibt die entsprechenden Prozess-IDs zurück.
Zum Beispiel, um nach SSH zu suchen Zugehöriger Prozess auf Ihrem System, geben Sie Folgendes ein:
pgrep ssh
Wie im obigen Screenshot gezeigt, hat pgrep einen SSH-Prozess mit einer PID von 1143 gefunden Überprüfen Sie dies mit dem Befehl ps:
ps -e | grep 1143
Anzeigen laufender Prozesse mit top
Das Dienstprogramm top ist natürlich Ein Befehlszeilentool, das jedoch eine interaktive Ausgabe aller derzeit ausgeführten Prozesse bietet und die Informationen anzeigt, die Sie in einer grafischen Oberfläche erwarten würden. Der Einstieg ist einfach. Geben Sie einfach top ein:
top
Die Ausgabe von oben liefert uns wi Viele Informationen, einschließlich der gesamten CPU- und RAM-Auslastung unseres Systems. Aber wir sind hier für die Liste der Prozesse, die Sie direkt darunter finden.
Das Terminalfenster ist einfach nicht groß genug, damit top jeden laufenden Prozess auflisten kann, sodass top so viele anzeigt Mit anderen Worten, die Prozesse mit der meisten CPU und dem meisten RAM werden oben aufgelistet. Weniger anspruchsvolle Prozesse werden unten in der Liste angezeigt und möglicherweise vom Terminalfenster abgeschnitten.
Verwenden Sie die Pfeiltasten auf Ihrer Tastatur, um durch die Liste der Prozesse nach oben und unten zu scrollen.
Zu jedem ausgeführten Prozess sind einige Informationen aufgeführt. Hier ist ein kurzer Überblick über die Bedeutung dieser verschiedenen Spalten:
- PID: Die Prozess-ID jeder Aufgabe.
- PR: Die Planungspriorität einer Aufgabe.
- NI: Der nette Wert einer Aufgabe. Negative Zahlen geben eine höhere Priorität an.
- VIRT: Die Menge des verwendeten virtuellen Speichers.
- RES: Die Menge des residenten Speichers verwendet wird.
- SHR: Die Menge des verwendeten gemeinsam genutzten Speichers.
- S: Der Status einer Aufgabe (R = ausgeführt, S = schlafen).
- % CPU: Aktueller CPU-Prozentsatz, der von einer Task verwendet wird.
- % MEM: Aktueller RAM-Prozentsatz, der von einer Task verwendet wird.
- TIME +: Die CPU-Zeit einer Task.
- BEFEHL: Der Befehl, mit dem die Aufgabe erzeugt wird.
Wie bereits erwähnt, ist top interaktiv, sodass wir einige Tastaturkürzel verwenden können, um einige nette Dinge damit zu tun. Wir “ Ich werde einige der praktischeren unten durchgehen.
Drücken Sie die Z-Taste, um Prozesse farblich zu kennzeichnen. Dies erleichtert die Unterscheidung laufender Aufgaben von Schlaf- oder Zombieprozessen.
Drücken Sie die Taste c, um den vollständigen Befehl für jede Aufgabe zu erhalten. Dies zeigt den absoluten Pfad zusammen mit allen verwendeten Optionen an.
Drücken Sie die k-Taste, um einen laufenden Prozess direkt vom obersten Dienstprogramm aus zu beenden. Dies spart ein wenig Zeit, da Sie das Dienstprogramm nicht beenden und keinen separaten Kill-Befehl ausgeben müssen. Sie müssen nur die PID des Prozesses eingeben, den Sie beenden möchten:
Drücken Sie die Taste r, um die Priorität eines Prozesses mit renice zu ändern. Geben Sie die PID des Prozesses ein, den Sie renice möchten:
Für weitere Optionen drücken Sie die Taste h (Hilfe), um alles zu sehen, was das Top noch tun kann.
Wenn Sie das Top-Dienstprogramm nicht mehr verwenden, können Sie das Tool beenden und zum Terminal zurückkehren, indem Sie q drücken.
Anzeigen laufender Prozesse mit htop
The Das Dienstprogramm htop baut von oben auf und ist etwas benutzerfreundlicher und macht mehr Spaß. Der einzige Nachteil ist, dass es nicht standardmäßig auf allen Linux-Distributionen installiert ist. Daher müssen Sie es möglicherweise zuerst installieren. Es sollte sich in den Repositorys Ihres Betriebssystems befinden. So installieren Sie es mit Ihrem Paketmanager:
Debian und Ubuntu:
sudo apt-get install htop
CentOS und Fedora:
dnf install htop
Red Hat:
yum install htop
Geben Sie nach der Installation einfach htop ein, um das Dienstprogramm auszuführen.
htop
Sie können mit der Maus mit htop interagieren. Die verschiedenen Tastaturbefehle werden unten im Terminalfenster aufgelistet. Sie funktionieren größtenteils genauso wie oben, verfügen jedoch über eine übersichtlichere Benutzeroberfläche, die leichter zu verstehen ist.
Fazit
In diesem Handbuch haben wir Ihnen einige verschiedene Methoden zum Anzeigen der laufenden Prozesse auf einem Linux-System gezeigt. Welche Sie verwenden, hängt von der jeweiligen Situation ab und Ihre persönliche Präferenz, aber jede Methode hat ihre eigenen Vorteile.