EMZETT.
Login

Prozesse und Signale: ps, top und kill

Kurz: Jedes laufende Programm ist ein Prozess mit einer Nummer (PID). Mit ps und top sieht man sie, mit Signalen steuert oder beendet man sie.

Prozesse ansehen

ps aux                  # alle Prozesse mit Benutzer, CPU, Speicher
ps aux | grep firefox   # bestimmte Prozesse finden
top                     # laufende Übersicht (q beendet)
htop                    # komfortablere Variante, falls installiert
pgrep -a nginx          # PIDs nach Namen

In top zeigen %CPU und %MEM die Last. Ein Prozess hat einen Zustand, zum Beispiel R läuft, S wartet, Z Zombie (beendet, aber noch nicht abgeholt).

Signale

Mit kill schickt man ein Signal an einen Prozess:

  • kill PID oder kill -15 PID (SIGTERM): höfliche Bitte, sich zu beenden. Das Programm kann aufräumen.
  • kill -9 PID (SIGKILL): sofortiges Ende durch den Kernel, ohne Aufräumen. Nur wenn nötig.
  • kill -HUP PID: viele Dienste lesen daraufhin ihre Einstellungen neu.
  • Strg+C im Terminal sendet SIGINT, Strg+Z hält den Prozess an.
  • killall name und pkill name wirken nach Namen.

Vorder- und Hintergrund

befehl & startet im Hintergrund, jobs listet, fg holt zurück. Für Dauerläufer eignet sich tmux und screen: mehrere Terminals in einem oder ein Dienst unter systemd und Init-Systeme.

Siehe auch: Speicherverwaltung und OOM-Killer