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.