Systemprozesse verwalten: ps
, top
, htop
1. Der Befehl ps
— statischer Blick auf Prozesse
Wenn Linux ein Restaurant wäre, dann wäre ein Prozess der Chefkoch in der Küche. Es ist eine ausführbare Instanz eines Programms, die im Speicher existiert. Wenn du eine Anwendung oder eine Datei von der Kommandozeile ausführst, wird ein Prozess erstellt, der dann seine Aufgaben bis zum Abschluss ausführt.
Aus der Perspektive der Programmierung werden Prozesse vom Linux-Kernel verwaltet, und jeder von ihnen hat eine eindeutige Kennung — PID (Process ID).
Der Befehl ps
(process status) ist ein grundlegender Befehl, um eine Liste von Prozessen anzuzeigen. Er gibt einen statischen Schnappschuss der aktuellen Prozesse im System. Mit ps
kannst du Infos über laufende Prozesse abrufen: ihre IDs, Besitzer, Kommandozeile und genutzte Ressourcen.
Grundlegende Syntax
So sieht der Basisbefehl aus:
ps
Das zeigt die Prozesse, die im aktuellen Terminal laufen.
Aber das ist langweilig! Lass uns etwas Würze hinzufügen:
ps aux
Hier:
a
— zeigt Prozesse anderer Benutzer.u
— fügt ein leserfreundlicheres Format hinzu.x
— schließt Prozesse ein, die nicht an ein Terminal gebunden sind.
Beispielausgabe:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 22556 1044 ? Ss 12:34 0:01 /sbin/init
student 2345 0.1 0.2 34567 2048 pts/0 S+ 12:35 0:02 bash
student 4567 0.3 0.5 56789 5144 pts/0 R+ 12:36 0:03 ps aux
- USER: Benutzer, der den Prozess gestartet hat.
- PID: Prozesskennung.
- %CPU: Prozentuale CPU-Auslastung.
- %MEM: Prozentuale Speicherauslastung.
- COMMAND: Befehl, der den Prozess gestartet hat.
Erweiterte Optionen
Baumstruktur der Prozesse anzeigen:
ps -ejH
Das hilft zu verstehen, welche Prozesse die "Kinder" anderer Prozesse sind.
Filter nach PID:
ps -p 1234
Wo
1234
deine PID ist. Zeigt nur den angegebenen Prozess an.Anzeige aller Prozesse mit vollständiger Kommandozeile:
ps -ef
2. Der Befehl top
— Dynamische Prozessüberwachung
top
ist wie ein Fernseher für Prozesse. Du kannst beobachten, wie sich Prozesse in Echtzeit ändern. Wenn du einen Server betreibst oder dein Computer anfängt zu "hängen", ist top
dein bester Freund. Damit kannst du sehen, welche Prozesse am meisten CPU und Speicher fressen.
Grundlagen der Nutzung
Gib einfach im Terminal ein:
top
Beispielausgabe:
- Die obere Zeile zeigt die "Systemauslastung".
- Der mittlere Abschnitt informiert über Aufgaben (gesamt, aktiv, schlafend, Zombies).
- Der untere Abschnitt betrifft den Speicher.
- Der untere Block ist eine Liste von Prozessen mit vielen nützlichen Informationen wie PID, USER, %CPU und COMMAND.
Navigation in top
- Drücke
k
, um einen Prozess zu beenden. Gib die PID ein. - Drücke
P
, um Prozesse nach CPU zu sortieren. - Drücke
M
, um nach Speichernutzung zu sortieren. - Drücke
q
, um zu beenden.
3. Die Utility htop
— praktisches Interface
Falls dir top
zu "roh" erscheint, willkommen bei htop
. Es ist ein grafisches Interface zur Prozessüberwachung. Es ist farbig, unterstützt die Maus und ist angenehm verständlich.
Installation
Wenn htop
nicht installiert ist, füge es hinzu:
sudo apt-get install htop # Für Debian-basierte Distributionen
sudo yum install htop # Für RedHat-basierte Distributionen
Starten
Um htop
auszuführen, gib einfach ein:
htop
Beispiel-Interface:
Vorteile von htop
:
- Möglichkeit, die Prozessliste durchzuscrollen.
- Farbakzente für CPU, Speicher und Swap.
- Bequeme Tasten zum Beenden von Prozessen (z. B.
F9
).
4. Praktische Aufgabe
Aufgabe 1: Finde den "gierigsten" Prozess
- Öffne
top
oderhtop
. - Sortiere die Prozesse nach CPU und erfahre ihre PID.
Aufgabe 2: Prozess beenden
- Nutze
kill
, um den Prozess zu "beenden":kill <PID>
Aufgabe 3: Prozessanalyse
- Nutze
ps
, um die PID des Prozesses zu analysieren:ps -p <PID> -o pid,user,%cpu,%mem,cmd
Fallstricke und Empfehlungen
- Beende keine Prozesse, wenn du dir nicht sicher bist, dass sie nicht systemkritisch sind. Zum Beispiel ist der Prozess mit PID 1 — das init — das Fundament des Betriebssystems.
- Das Tool
htop
muss separat installiert werden, falls es nicht vorhanden ist. Wenn der Befehl nicht funktioniert, prüfe die Installation. - Sei vorsichtig mit den Berechtigungen. Das Beenden von Prozessen, die unter einem anderen Benutzer ausgeführt werden, kann Administratorrechte erfordern.
In der Praxis wirst du sehen, dass diese Tools die Arbeit mit Linux unglaublich flexibel und übersichtlich machen. Jetzt bist du der Boss der Prozesse!
GO TO FULL VERSION