Befehle für Prozessverwaltung in Linux
Die Prozessverwaltung ist ein kritischer Aspekt der Systemadministration in Linux. Ein Prozess in Linux stellt eine laufende Instanz eines Programms dar. Jeder ausgeführte Befehl startet einen Prozess. Dieser Leitfaden führt Sie durch die wesentlichen Aspekte der Prozessverwaltung in Linux, einschließlich Typen, Zustände und Befehle mit praktischen Beispielen.
Prozesstypen in Linux verstehen
Linux kategorisiert Prozesse in zwei Typen:
Vordergrundprozesse erfordern Benutzereingaben. Sie werden auch als interaktive Prozesse bezeichnet und direkt im Terminal ausgeführt.
Hintergrundprozesse hingegen laufen unabhängig und erfordern keine Benutzereingabe. Sie werden oft als nicht-interaktive oder automatische Prozesse bezeichnet und ermöglichen es Ihnen, andere Aufgaben auszuführen, während sie im Hintergrund ablaufen.
Prozesszustände in Linux
Prozesse in Linux können zwischen ihrer Erstellung und Beendigung verschiedene Zustände durchlaufen:
Ein laufender Prozess wird entweder ausgeführt oder ist bereit zur Ausführung. Ein schlafender Prozess wartet darauf, dass eine Ressource verfügbar wird. Ein Prozess im unterbrechbaren Schlafzustand kann auf Signale reagieren und aufwachen. Ein Prozess im nicht unterbrechbaren Schlafzustand reagiert nicht auf Signale. Ein Prozess geht in einen gestoppten Zustand über, wenn er ein Stoppsignal erhält. Ein Zombie-Zustand zeigt an, dass der Prozess abgeschlossen ist, aber sein Eintrag weiterhin in der Prozesstabelle vorhanden ist.
Wichtige Befehle für die Prozessverwaltung
Eine effiziente Prozessverwaltung erfordert das Verständnis und die effektive Nutzung von Linux-Befehlen. Nachfolgend behandeln wir einige der am häufigsten verwendeten Befehle.
Prozesse mit dem top
-Befehl verfolgen
Der top
-Befehl zeigt in Echtzeit laufende Prozesse und deren Ressourcennutzung an.
$ top
Wichtige Metriken, die vom top
-Befehl angezeigt werden:
- PID: Eindeutige ID, die jedem Prozess zugewiesen wird.
- User: Eigentümer des Prozesses.
- %CPU: CPU-Auslastung in Prozent.
- %MEM: RAM-Auslastung in Prozent.
- Command: Der Befehl, der den Prozess gestartet hat.
Verwenden Sie die Pfeiltasten, um zu navigieren, drücken Sie q
, um zu beenden, und k
, um einen Prozess zu beenden.
Details zu Prozessen mit dem ps
-Befehl anzeigen
Der ps
-Befehl, kurz für „Process Status“, listet laufende Prozesse auf. Im Gegensatz zu top
ist die Ausgabe statisch.
$ ps
Für detaillierte Informationen verwenden Sie:
$ ps -u
Um alle Prozesse anzuzeigen, einschließlich derer, die nicht aktiv laufen:
$ ps -A
Prozesse mit dem kill
-Befehl stoppen
Der kill
-Befehl sendet Signale an Prozesse, um sie zu stoppen oder zu verwalten. Beispiel:
$ kill -9 [PID]
Die Option -9
sendet das SIGKILL
-Signal, das den Prozess zwangsweise beendet.
Um alle Signaloptionen anzuzeigen:
$ kill -L
Priorität von Prozessen mit nice
und renice
verwalten
Die Priorität von Prozessen in Linux wird mit dem „Niceness“-Wert gesteuert, der von -20 (höchste Priorität) bis 19 (niedrigste Priorität) reicht. Um einen Prozess mit einem bestimmten Niceness-Wert zu starten:
$ nice -n [value] [command]
Um den Niceness-Wert eines laufenden Prozesses zu ändern:
$ renice [value] -p [PID]
Fazit
Dieser Leitfaden hat wesentliche Aspekte der Prozessverwaltung in Linux behandelt, mit Schwerpunkt auf praktischen Befehlen wie top
, ps
, kill
und nice
. Diese Werkzeuge ermöglichen es Ihnen, Prozesse effizient zu überwachen, zu steuern und zu optimieren, um eine reibungslose Systemleistung sicherzustellen. Für fortgeschrittene Themen der Prozessverwaltung können Sie sich weiter mit Signalverarbeitung und Planung beschäftigen.