CodeGym /Kurse /Docker SELF /Systemprozesse verwalten: ps, top, htop

Systemprozesse verwalten: ps, top, htop

Docker SELF
Level 2 , Lektion 4
Verfügbar

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

  1. Baumstruktur der Prozesse anzeigen:

    ps -ejH
    

    Das hilft zu verstehen, welche Prozesse die "Kinder" anderer Prozesse sind.

  2. Filter nach PID:

    ps -p 1234
    

    Wo 1234 deine PID ist. Zeigt nur den angegebenen Prozess an.

  3. 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 oder htop.
  • 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

  1. 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.
  2. Das Tool htop muss separat installiert werden, falls es nicht vorhanden ist. Wenn der Befehl nicht funktioniert, prüfe die Installation.
  3. 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!

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION