ps zeigt eine Momentaufnahme laufender Prozesse, top überwacht sie live und kill beendet sie. Zusammen sind sie das Basiswerkzeug, um zu verstehen, was auf einem Linux-System gerade arbeitet — und es bei Bedarf zu stoppen.

ps: Prozesse anzeigen

ps aux                    # alle Prozesse mit CPU-/Speichernutzung (Standard)
ps -ef                    # alle Prozesse, volle Kommandozeile
ps aux | grep nginx       # nach einem Dienst filtern
ps -e --forest            # Prozessbaum (Eltern-Kind-Beziehung)
ps -u michael             # nur Prozesse eines Benutzers
ps -p 1234 -o pid,cmd     # gezielt eine PID abfragen

Die PID (Process ID) ist die Nummer, mit der man einen Prozess später anspricht. ps aux zeigt sie in der zweiten Spalte.

top: Live-Überwachung

top                       # Live-Ansicht, aktualisiert sich selbst
top -o %MEM               # nach Speichernutzung sortieren
htop                      # komfortablere Variante (falls installiert)

In top sortiert P nach CPU, M nach Speicher, k beendet einen Prozess (PID eingeben), q verlässt die Ansicht.

kill: Prozesse beenden

kill 1234                 # Signal TERM: sauberes Beenden anfordern
kill -9 1234              # Signal KILL: sofort beenden (letzte Möglichkeit)
killall nginx             # alle Prozesse mit diesem Namen beenden
pkill -f "node app.js"    # per Namensmuster beenden
kill -l                   # Liste aller Signale anzeigen

Die Reihenfolge ist wichtig: erst kill PID (Signal 15, TERM — der Prozess kann aufräumen), erst wenn das nicht wirkt kill -9 (Signal 9, KILL — hartes Beenden ohne Aufräumen).

Praxis-Tipps

  • pgrep nginx liefert nur die PID-Nummern — perfekt für Skripte.
  • Hängende Prozesse lassen sich oft mit kill -9 beenden; vorher aber kill versuchen, sonst gehen ungesicherte Daten verloren.
  • Mit ps -o pid,%cpu,%mem,cmd --sort=-%cpu bekommt man die CPU-lastigsten Prozesse als Liste.
  • nice -n 10 ./schwer.sh startet einen Prozess mit niedrigerer Priorität, damit er andere nicht ausbremst.

Verwandte Grundlagen: Bash-Befehle, sort, uniq und cut und systemctl und journalctl.