Startseite > Prozessverwaltung > pkill

pkill: Prozesse nach Namen beenden/signalisieren

pkill ist ein Befehl, der Prozesse basierend auf ihrem Namen oder anderen Attributen findet und ihnen ein Signal sendet. Er ist ähnlich wie `pgrep`, sendet aber direkt ein Signal an die gefundenen Prozesse. Dies ist nützlich, um alle Prozesse mit einem bestimmten Namen gleichzeitig zu beenden oder neu zu starten.

Übersicht

pkill verwendet dieselbe Mustererkennungsfunktionalität wie `pgrep`, um Prozesse zu finden, sendet aber dann das angegebene Signal an die gefundenen Prozesse. Das Standardsignal ist SIGTERM (15), das eine ordnungsgemäße Beendigung des Prozesses anfordert. Mit der Option `-9` kann SIGKILL gesendet werden, was jedoch eine erzwungene Beendigung ist und mit Vorsicht verwendet werden sollte.

Hauptfunktionen

  • Senden von Signalen an Prozesse nach Namen
  • Filtern nach verschiedenen Kriterien wie Benutzer, Terminal, vollständiger Pfad
  • Standardsignal ist SIGTERM (ordnungsgemäße Beendigung)
  • Erzwungene Beendigung (SIGKILL) möglich

Wichtige Optionen

Der Befehl pkill bietet verschiedene Optionen, um die zu signalisierenden Prozesse präzise auszuwählen.

Signale und Abgleich

Prozessfilterung

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`pkill` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Zeigt verschiedene Möglichkeiten, pkill zum Beenden oder Signalisieren bestimmter Prozesse zu verwenden.

nginx-Prozesse ordnungsgemäß beenden

pkill nginx

Sendet ein SIGTERM-Signal an alle Prozesse mit dem Namen nginx, um eine ordnungsgemäße Beendigung anzufordern.

Firefox-Prozesse eines bestimmten Benutzers erzwingen

pkill -u john -9 firefox

Erzwingt die Beendigung von Firefox-Prozessen, die vom angegebenen Benutzer (z.B. 'john') ausgeführt werden.

Alle Prozesse beenden, die 'my_script.sh' in der gesamten Befehlszeile enthalten

pkill -f my_script.sh

Beendet alle Prozesse, deren vollständige Befehlszeile 'my_script.sh' enthält, nicht nur den Prozessnamen.

Alle Prozesse beenden, die von einem bestimmten Terminal (tty1) ausgeführt werden

pkill -t tty1

Sendet ein SIGTERM-Signal an alle Prozesse, die vom Terminal tty1 ausgeführt werden.

SIGHUP-Signal an httpd-Prozesse senden (Neustart)

pkill -HUP httpd

Sendet ein SIGHUP-Signal an httpd-Prozesse, um sie aufzufordern, ihre Konfigurationsdateien neu zu laden oder neu zu starten.

Tipps & Hinweise

Wichtige Punkte und nützliche Tipps bei der Verwendung von pkill.

Hinweise

  • Verwenden Sie `pkill -9` (SIGKILL) nur als letztes Mittel. Es gibt dem Prozess keine Möglichkeit, Aufräumarbeiten durchzuführen, was zu Datenverlust oder Systeminstabilität führen kann.
  • Um unbeabsichtigte Prozessbeendigungen zu vermeiden, ist es ratsam, zuerst mit `pgrep` zu überprüfen, welche Prozesse ausgewählt werden. (z.B. `pgrep -l <Muster>`)
  • Sie können reguläre Ausdrücke für Muster verwenden. (z.B. `pkill 'apache.*'`)
  • pkill zielt standardmäßig nur auf Prozesse des aktuellen Benutzers ab. Um Prozesse anderer Benutzer zu beenden, sind Root-Rechte erforderlich.

Gleiche Kategorie Befehle