Prozesse anhand von Name und ID beenden

LinuxLinuxIntermediate
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In dieser Herausforderung lernen Sie, wie Sie Prozesse in Linux mit verschiedenen Befehlen beenden können. Die Prozessverwaltung ist eine grundlegende Fähigkeit für jeden Linux-Administrator oder Benutzer, da sie es Ihnen ermöglicht, laufende Anwendungen und Dienste effektiv zu steuern.

Errungenschaften

  • kill - Senden Sie ein Signal an einen Prozess
  • killall - Beenden Sie alle Prozesse anhand des Namens
  • pkill - Beenden Sie alle Prozesse anhand des Namens
Dies ist eine Challenge, die sich von einem Guided Lab dadurch unterscheidet, dass Sie die Aufgabe der Herausforderung selbstständig lösen müssen, anstatt die Schritte eines Labors zum Lernen zu befolgen. Challenges sind in der Regel etwas schwieriger. Wenn es Ihnen schwerfällt, können Sie mit Labby diskutieren oder die Lösung einsehen. Historische Daten zeigen, dass dies eine Challenge der Stufe Fortgeschrittener mit einer Erfolgsquote von 73% ist. Es hat eine positive Bewertungsrate von 73% von den Lernenden erhalten.

Senden eines Signals an einen Prozess

In Linux wird jedes laufende Programm oder jeder laufende Dienst als ein Prozess mit einer eindeutigen Prozess-ID (PID) dargestellt. Der Befehl kill ermöglicht es Ihnen, Signale an Prozesse zu senden, wobei das häufigste Signal zum Beenden der Prozesse verwendet wird.

Wir haben einen Hintergrund-Skriptprozess gestartet, der kontinuierlich in eine Protokolldatei schreibt. Jetzt müssen Sie kill verwenden, um ein Signal zum Beenden des Prozesses zu senden.

Anforderungen

  • Finden Sie die Prozess-ID des Hintergrund-Skripts (/tmp/background-process.sh).
  • Senden Sie ein Signal, um diesen Prozess zu beenden.
  • Verwenden Sie nur kill, um den Prozess zu beenden.

Tipps

  • Verwenden Sie ps aux | grep [Prozessname], um die PID eines Prozesses zu finden.
  • Das Signal -9 (SIGKILL) zwingt einen Prozess, sofort zu beenden.
  • Denken Sie daran, dass einige Operationen root-Berechtigungen (sudo) erfordern.
✨ Lösung prüfen und üben

Beenden aller Prozesse

Während kill sehr effektiv ist, um einzelne Prozesse anhand ihrer PID zu beenden, bietet Linux bequemere Befehle, wenn Sie mehrere Prozesse mit demselben Namen beenden müssen.

Die Befehle killall und pkill ermöglichen es Ihnen, Prozesse anhand ihres Namens zu beenden, anstatt dass Sie jede PID einzeln suchen müssen. Dies ist besonders nützlich, wenn Sie mit mehreren Instanzen desselben Programms umgehen.

In diesem Schritt üben wir die Verwendung dieser Befehle, um alle Instanzen des nginx-Webservers, den wir zuvor gestartet haben, zu beenden.

Anforderungen

  • Beenden Sie alle nginx-Prozesse.
  • Verwenden Sie killall oder pkill, um alle nginx-Prozesse zu beenden.

Tipps

  • killall erfordert eine exakte Übereinstimmung des Prozessnamens.
  • pkill ermöglicht eine flexiblere Mustererkennung.
  • Beide Befehle können für Systemprozesse root-Berechtigungen (sudo) erfordern.
✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Sie haben diese Herausforderung erfolgreich abgeschlossen.

In dieser Herausforderung haben Sie essentielle Fähigkeiten zur Linux-Prozessverwaltung gelernt:

  1. Wie Sie Prozesse mit dem Befehl ps identifizieren können
  2. Wie Sie einen bestimmten Prozess anhand seiner PID mit dem Befehl kill beenden können
  3. Wie Sie mehrere Prozesse anhand ihres Namens mit killall oder pkill beenden können

Diese Befehle sind grundlegende Werkzeuge in einem Linux-Administrator-Set, die es Ihnen ermöglichen, laufende Prozesse effektiv zu verwalten und zu steuern. Egal, ob Sie eine fehlerhafte Anwendung beenden oder einen Dienst neu starten müssen, diese Befehle geben Ihnen präzise Kontrolle über die Prozesse Ihres Systems.

Weiter lernen und viel Spaß!