Linux ist ein Open-Source-Betriebssystem, das leistungsstarke und flexible Funktionen zur Prozessverwaltung bietet. Die Kenntnis der Befehle und Filter für die Arbeit mit Prozessen unter Linux ist eine notwendige Fähigkeit für Systemadministratoren und Entwickler.
In diesem Artikel werden wir uns die grundlegenden Befehle ansehen, die für die Arbeit mit Prozessen unter Linux verwendet werden, und uns mit den verschiedenen Filtern vertraut machen, die uns bei der Verwaltung der Prozessliste helfen.
Unter Linux hat jeder Prozess seine eigene eindeutige ID (PID), mit der Prozesse identifiziert und verwaltet werden können. Das Team ps ermöglicht es uns, die Liste der Prozesse im System anzuzeigen. Es gibt Informationen zu jedem Prozess aus, z. B. PID, Benutzer, Speichernutzung und Prozessstatus.
Um beispielsweise eine Liste aller laufenden Prozesse anzuzeigen, können wir den folgenden Befehl verwenden:
ps -ef
Darüber hinaus gibt es verschiedene Filter, mit denen wir die Prozessliste nach bestimmten Kriterien eingrenzen können. Filter ermöglichen es uns, Prozesse nach Schlüsselwörtern, Benutzer, CPU-Auslastung und anderen Parametern zu suchen.
Zum Beispiel der Befehl grep ermöglicht es uns, nach Prozessen nach einem bestimmten Schlüsselwort zu suchen. Sie können den folgenden Befehl verwenden, um nach Apache-bezogenen Prozessen zu suchen:
Dies ist nur eine Anzeige der Fähigkeiten des Teams ps und einen Filter grep. Unter Linux gibt es viele andere Befehle und Filter, die es uns ermöglichen, Prozesse flexibler zu verwalten und verschiedene Operationen mit ihnen durchzuführen. In diesem Artikel werden wir die grundlegenden Befehle und Filter analysieren, die Ihnen helfen, eine vollständige Liste der Prozesse in Linux zu erhalten und zu verwalten.
Warum sollte ich über Prozesse in Linux Bescheid wissen
Unter Linux wird jedes laufende Programm als Prozess dargestellt. Jeder Prozess hat seine eigene eindeutige ID (PID), mit der Sie ihn verwalten können. Wenn Sie die PID kennen, können Sie ein Signal an den Prozess senden, seine Priorität ändern oder die Ausführung stoppen.
Durch die Verwendung des ps-Befehls, verschiedener Filter und Optionen können Sie Prozessinformationen wie CPU-Auslastung, Speicherauslastung, Laufzeit und Prozessbaumstruktur anzeigen, in denen jeder Prozess untergeordnete Prozesse haben kann.
In der Praxis ermöglicht das Wissen über Prozesse dem Systemadministrator oder Entwickler:
- Überwachen und überwachen Sie den Systemstart. Wenn Sie Informationen zu Prozessen mit vielen Ressourcen abrufen, können Sie Engpässe erkennen und das System optimieren.
- Problematische und nicht mehr benötigte Prozesse finden. Wenn ein Prozess nicht mehr reagiert oder blockiert wird, können Sie seine PID kennen, indem Sie ihn anhalten oder neu starten.
- Analysieren Sie die Leistung von Anwendungen. Durch die Ausgabe der Prozessliste können Sie sehen, welche Programme auf dem Computer ausgeführt werden und wie viele Ressourcen sie verwenden. Dies kann verwendet werden, um Anwendungen zu identifizieren, die eine große Menge an Ressourcen verbrauchen, und geeignete Maßnahmen zu ergreifen.
- Prozesse verwalten. Wenn Sie die PID kennen, können Sie ein Signal an den Prozess senden, seine Priorität ändern oder die Ausführung stoppen.
Im Allgemeinen ist das Wissen über die Prozesse unter Linux für diejenigen nützlich, die mit Unix-Systemen arbeiten und Administrations- und Entwicklungsaufgaben ausführen. Die Kenntnis der prozessbezogenen Befehle und Filter hilft Ihnen, das System effizient zu verwalten und Leistungsprobleme zu lösen.
Befehle zum Verwalten von Prozessen
Prozesse unter Linux können mit verschiedenen Befehlen verwaltet werden. Im Folgenden sind die grundlegenden Befehle aufgeführt, mit denen Sie die Prozesse auf Ihrem System verwalten können.
ps: der Hauptbefehl zum Anzeigen der Liste der laufenden Prozesse. Mithilfe von Flags können Sie das Ausgabeformat für Informationen festlegen.
top: ein interaktives Team, mit dem Sie Ihre Prozesse in Echtzeit verfolgen können. Es zeigt eine Liste der Prozesse an, die nach Ressourcennutzung sortiert sind.
kill: befehl zum Beenden des Prozesses. Es sendet ein Signal an den Prozess, um seinen Betrieb zu beenden.
killall: befehl zum Beenden aller Prozesse mit einem bestimmten Namen.
shutdown: befehl zum sicheren Herunterfahren des Systems. Sie kann auch ein verzögertes Herunterfahren oder einen Neustart planen.
reboot: befehl zum Neustarten des Systems.
renice: befehl zum Ändern der Priorität eines Prozesses während der Ausführung.
bg: Befehl zum Starten eines angehaltenen Prozesses im Hintergrund.
fg: befehl zum Fortsetzen eines angehaltenen Prozesses im Vordergrund.
nohup: Ein Befehl, mit dem Sie einen Prozess im Hintergrund ausführen können, der nach dem Schließen des Terminals weiterhin ausgeführt wird.
nice: befehl zum Starten des Prozesses mit der angegebenen Priorität.
Dies sind nur einige der vielen Befehle zum Verwalten von Prozessen unter Linux. Wenn Sie diese Befehle kennen, können Sie die Prozesse auf Ihrem System einfach überwachen und überwachen.
PS-Befehl
Der ps-Befehl unter Linux wird verwendet, um eine Liste der aktuellen Prozesse auf dem System anzuzeigen. Dies ist ein sehr nützlicher Befehl bei der Arbeit mit dem Betriebssystem, da er Informationen zu Prozessen, deren IDs, Status, Ressourcenverbrauch und anderen Eigenschaften abruft.
Der ps-Befehl verfügt über viele Optionen und Filter, mit denen Sie die Ausgabe der Prozessliste anpassen können.
Einige der am häufigsten verwendeten ps-Befehlsoptionen sind:
| Option | Die Beschreibung |
|---|---|
| a | Alle Prozesse anzeigen, einschließlich der Prozesse aus anderen Sitzungen |
| x | Prozesse ohne Steuerterminal anzeigen |
| e | Nur die vom aktuellen Benutzer ausgeführten Prozesse anzeigen |
| u | Zusätzliche Prozessinformationen wie Benutzername, CPU-Auslastung und Arbeitsspeicher anzeigen |
| f | Prozessbaumstruktur anzeigen |
Außerdem können Sie Filter verwenden, um nur bestimmte Prozesse nach bestimmten Kriterien anzuzeigen. Der folgende Befehl zeigt beispielsweise alle Prozesse an, deren Namen mit "ssh" beginnen:
ps -ef | grep ssh
Der ps-Befehl bietet umfangreiche Möglichkeiten zur Analyse von Prozessen unter Linux. Es wird ein guter Helfer bei der Systemverwaltung und beim Debuggen von Problemen im Betriebssystem sein.
top
Der Befehl top bietet detaillierte Informationen zu den aktuellen Prozessen, die unter dem Linux-Betriebssystem ausgeführt werden. Dieser Befehl zeigt eine Liste der Prozesse in Echtzeit an und ermöglicht es Ihnen, ihre Ressourcennutzung wie CPU-Zeit, Arbeitsspeicher und Systemauslastung zu überwachen.
Wenn Sie den Befehl top ausführen, wird eine interaktive Tabelle geöffnet, in der eine Liste der Prozesse angezeigt wird. Jede Zeile der Tabelle repräsentiert einen einzelnen Prozess, und die Spalten zeigen verschiedene Prozessmerkmale an, z. B. die ID (PID), den Prozessnamen, die CPU-Auslastung, die Speichernutzung usw.
Hier finden Sie einige Befehle und Schaltflächen, die Sie im interaktiven Modus des Top-Befehls verwenden können :
- Drücken Sie die P-Taste , um die Prozesse nach CPU-Auslastung (CPU) zu sortieren.
- Drücken Sie die Taste M , um die Prozesse nach Speicherauslastung (Memory) zu sortieren.
- Drücken Sie die k-Taste , um den ausgewählten Prozess zu beenden (zu beenden).
- Drücken Sie die q-Taste, um den Befehl top zu beenden.
Der Befehl top ist sehr nützlich beim Debuggen und Überwachen von Prozessen in Echtzeit. Es bietet eine Fülle von Informationen über den Systembetrieb und ermöglicht die schnelle Erkennung von Problemen im Zusammenhang mit der Leistung oder der ineffizienten Ressourcennutzung.
Kill-Befehl
Das Kill-Team (aus dem Englischen. "kill") wird unter Linux verwendet, um ein Signal an einen Prozess oder eine Gruppe von Prozessen zu senden. Es wird normalerweise verwendet, um einen Prozess zu beenden, kann aber auch verwendet werden, um andere Signale zu senden, z. B. einen Neustart oder einen Stopp.
Die Syntax des Befehls kill:
- kill PID - sendet ein Signal an den Prozess mit der angegebenen PID
- kill -s SIGNAL PID - Sendet ein Signal an den Prozess mit der angegebenen PID
- kill -l - Liste der verfügbaren Signale
Beispiele für die Verwendung des Befehls kill:
- kill 1234 - Senden Sie ein Beendigungssignal an den Prozess mit der PID 1234
- kill -s HUP 5678 - Senden Sie ein HUP-Signal (Neustart) an den Prozess mit der PID 5678
Wenn Sie den kill-Befehl ohne Angabe eines Signals verwenden, wird standardmäßig ein SIGTERM (15) -Signal gesendet, das den Prozess zum Abschluss auffordert und alle notwendigen Schritte vor dem Beenden ausführt. Wenn ein Prozess nicht auf SIGTERM reagiert, können Sie ihm ein SIGKILL (9) -Signal senden, das den Prozess sofort beendet.
Das Ausführen des Befehls kill ohne Angabe der Prozess-ID führt zu einem Fehler. Um die IDs aktiver Prozesse herauszufinden, können Sie die Befehle ps oder top verwenden.
Filter für die Arbeit mit Prozessen
Wenn Sie mit Prozessen unter Linux arbeiten, können Sie verschiedene Filter verwenden, um die gewünschten Informationen leichter anzuzeigen und zu finden. In diesem Abschnitt werden wir uns einige wichtige Filter ansehen, die Ihnen bei der Arbeit mit Prozessen auf einem Linux-Betriebssystem helfen.
1. PS-Filter
Der Befehl ps wird verwendet, um eine Liste der laufenden Prozesse unter Linux anzuzeigen. Sie können mit diesem Befehl verschiedene Schlüssel verwenden, um die Ausgabe von Prozessinformationen anzupassen.
ps [опции]
ps aux # отображает список всех процессов в системеps -ef # отображает список всех процессов с полной информацией
2. Grep-Filter
Der Befehl grep wird verwendet, um nach Text in der Ausgabe anderer Befehle zu suchen. Sie können diesen Befehl zusammen mit dem ps-Befehl verwenden, um nach einem bestimmten Prozess oder einer Prozessgruppe zu suchen.
grep [опции] шаблон [файлы]
ps aux | grep nginx # ищет процесс с именем "nginx"ps aux | grep -i nginx # ищет процесс с именем "nginx", игнорируя регистр
3. AWK-Filter
Der Befehl awk wird verwendet, um strukturierten Text zu verarbeiten und anzuzeigen. Sie können diesen Befehl zusammen mit dem ps-Befehl verwenden, um Prozessinformationen zu filtern und nur die gewünschten Spalten anzuzeigen.
awk [опции] 'шаблон ' [файлы]
ps aux | awk '' # отображает ID процесса и использование CPU
Dies ist nur eine kleine Liste von Filtern, die Sie bei der Arbeit mit Prozessen unter Linux verwenden können. Es wird jedoch ausreichen, um Ihre Arbeit bequemer und effizienter zu machen.