Sobes.tech
Intern

Wie beendet man den Prozess?

sobes.tech KI

Antwort von AI

Um Prozesse unter Linux können Sie mit den Befehlen kill, pkill oder killall beenden.

1. Verwendung von kill:

  • Beendet einen Prozess anhand seiner Prozess-ID (PID).
  • Erfordert Kenntnis der PID.
  • Signale:
    • SIGTERM (Standard, 15): Sanftes Beenden, ermöglicht dem Prozess, ordnungsgemäß zu schließen.
    • SIGKILL (9): Sofortiges und erzwungenes Beenden, der Prozess kann dieses Signal nicht ignorieren.
# PID des Prozesses ermitteln
ps aux | grep <Prozessname>

# SIGTERM senden (Standard)
kill <PID>

# SIGKILL senden
kill -9 <PID>

2. Verwendung von pkill:

  • Beendet Prozesse anhand ihres Namens oder anderer Attribute.
  • Kenntnis der PID ist nicht erforderlich.
  • Unterstützt Muster.
# Alle Prozesse mit dem Namen 'nginx' beenden
pkill nginx

# Alle Prozesse, die 'myapp' im Namen enthalten (Groß-/Kleinschreibung beachten)
pkill -i myapp

# SIGKILL an Prozesse mit dem Namen 'firefox' senden
pkill -9 firefox

3. Verwendung von killall:

  • Beendet Prozesse nur anhand ihres genauen Namens.
  • Unterstützt keine komplexen Muster, im Gegensatz zu pkill.
# Alle Prozesse mit genauem Namen 'apache2' beenden
killall apache2

# SIGKILL an Prozesse mit genauem Namen 'mysqld' senden
killall -9 mysqld

Auswahl des Befehls:

Befehl Beendungsmethode Kenntnis der PID erforderlich Musterunterstützung
kill Nach PID Ja Nein
pkill Nach Name/Attributen Nein Ja
killall Nach exaktem Namen Nein Nein

In den meisten Fällen wird empfohlen, zunächst zu versuchen, den Prozess mit SIGTERM (kill <PID>, pkill <Name>) zu beenden, um ihm die Möglichkeit zu geben, Daten zu speichern und ordnungsgemäß zu schließen. SIGKILL (kill -9, pkill -9, killall -9) sollte nur als letzte Maßnahme verwendet werden, wenn der Prozess nicht auf andere Signale reagiert.