Linux -Kill -Prozess durch PID

Linux -Kill -Prozess durch PID
In Linux (und modernsten Betriebssystemen) muss ein Prozess gewaltsam abgeschlossen werden. Es gibt mehrere Möglichkeiten, ein Terminierungssignal an einen bestimmten Prozess zu senden. Wenn Sie die PID (Prozess -ID) des Zielvorgangs kennen, kann der Befehl Kill das Beendigungsignal direkt an ihn senden.

In diesem Leitfaden werden wir demonstrieren, wie ein Linux -Prozess durch seine PID getötet werden kann.

PID in Linux

Der Begriff PID ist ein Akronym für „Prozessidentifikationsnummer“. Jedem Prozess wird eine eindeutige PID zugewiesen, sobald er auf dem System erstellt wird. Die PID -Nummer 1 ist Systemd zugeordnet (init, für ältere Systeme). Im Wesentlichen ist Systemd oder Init immer der erste Prozess, der unter Linux beginnt und übergeordnet ist, um alle anderen Prozesse zu erwerben.

Es gibt ein paar Tools, mit denen wir die PID eines Zielprozesses erhalten können. Die beliebteste (und empfohlene) Methode zum Erhalten der PID ist die Verwendung des PS -Befehls. Es ist ein integriertes Tool, das auf allen Linux-Systemen verfügbar ist. Erfahren Sie mehr über den PS-Befehl unter Linux.

Führen Sie den folgenden PS -Befehl aus, um alle laufenden Prozesse mit ihrem PID auszufahren:

$ ps -f

Für eine leichtere Navigation leiten Sie die Ausgabe in den weniger Befehl an:

$ ps -f | weniger

Beachten Sie, dass die PID -Spalte alle nach PID sortierten Prozesse auflistet. Es ist der Wert, den wir suchen.

Auf der Suche nach einem bestimmten Prozess mit einem bestimmten Namen? Dann ist der Grep -Befehl dein Freund. Es kann in der angegebenen Datei nach einem bestimmten Muster suchen (STDOut, in diesem Fall). Beispielsweise sucht der folgende Befehl nach einem laufenden Firefox -Prozess:

$ ps -f | Grep Firefox

Wenn Sie den Namen des Zielvorgangs kennen, können wir den Befehl PIDOF verwenden, um die PID direkt zu erhalten.

$ pidof Firefox

Ein weiterer interessanter Befehl, um den Job zu erledigen, ist PGREP. Es arbeitet direkt auf der Liste der derzeit ausgeführten Prozesse. Der Befehl PGREP nimmt den Prozessnamen als Parameter und druckt die PID einer beliebigen Übereinstimmungseingabe aus.

$ pGrep Firefox

Beachten Sie die PID des Zielprozesses. Der nächste Abschnitt dieses Artikels zeigt, dass der Prozess durch seine PID beendet wird.

Einen Prozess töten

Um einen Prozess zu töten, muss ein Terminalsignal an den Prozess gesendet werden. Es gibt jedoch kein einzelnes Terminierungssignal. Es gibt einige von ihnen, die jeweils etwas anders handeln als die anderen. Es ist also entscheidend, sie zuerst zu verstehen.

Linux Kill -Signale

Der Befehl Kill in Linux ist für das Senden der Kündigungssignale verantwortlich. Eine detaillierte Erklärung finden Sie in dieser Anleitung zum Befehl Linux Kill. Kurz gesagt, Sie sagen dem Befehl Kill, welches Signal an welchen Vorgang an welchen Vorgang gesendet werden soll (mit PID),.

Führen Sie den folgenden Befehl aus, um die vollständige Liste aller Kündigungssignale zu erhalten:

$ Kill -l

Zum größten Teil werden wir jedoch nur eine Handvoll von ihnen brauchen. Hier finden Sie detaillierte Erklärungen zu den häufigsten Beendigungsignalen, über die Sie wissen sollten.

  • Sigup (1) - Das kontrollierende Terminal ist aufgehängt oder der Kontrollprozess ist tot. In einer solchen Situation laden SIGUP die Konfigurationsdateien neu und öffnen/schließen Protokolldateien.
  • Sigkill (9) - Es ist ein direktes Kill -Signal für den Zielprozess. Es sollte als letzter Ausweg verwendet werden, um einen Prozess zu beenden. Wenn ein Prozess mit Sigkill beendet wird, speichert er keine Daten oder Reinigung bei der Beendigung des Prozesses.
  • Sigterm (15) - Es sendet ein Kündigungssignal an den Zielprozess. Sigterm ist das Standardsignal zu senden. Es wird auch als die sicherste Methode zur Beendigung eines Prozesses angesehen.

Einen Prozess mit Kill töten

Dies ist die Standardmethode, um einen Zielprozess unter Linux zu beenden. Der Befehl Kill folgt der folgenden Befehlsstruktur:

$ Kill -

Um Sigterm an einen Prozess zu senden, würde der Befehl beispielsweise so aussehen:

$ Kill -15

Wenn Sie Sigkill senden möchten, verwenden Sie den folgenden Befehl in ähnlicher Weise:

$ Kill -9

Erfahren Sie mehr über den Befehl Linux Kill mit ausführlichen Erklärungen und Beispielen.

Mehrere Prozesse mit Killall töten

Die Killall Command Acts ähnlich wie Kill. Anstatt eine bestimmte PID zu definieren, verwendet es den Prozessnamen und sendet das angegebene Terminierungssignal an alle Prozesse, die mit dem Namen übereinstimmen.

Die Kommandostruktur von Killall sieht so aus:

$ Killall -

Beispielsweise sendet der folgende Befehl Killall Sigterm an alle laufenden Firefox -Prozesse:

$ Killall -15 Firefox

In dieser Anleitung zum Befehl Linux Killall finden Sie detaillierte Erklärungen mit Beispielen. Es wird auch empfohlen, die Mannseite von Killall zu überprüfen:

$ MAN KILLALL

Mehrfachprozesse mit PKILL abtöten

Ähnlich wie beim Killall -Befehl kann PKILL auch nach dem Namen nachgehen und das angegebene Terminierungssignal senden. Die Befehlsstruktur ist ebenfalls fast ähnlich;

$ pkill -

Verwenden Sie beispielsweise den folgenden PKILL -Befehl, um den Firefox -Prozess mit Sigterm zu beenden:

$ pkill -15 Firefox

Überprüfen Sie wie immer die Mannseite von PKILL auf ausführliche Erklärungen mit allen Nuancen:

$ MAN PKILL

Abschließende Gedanken

Dieser Leitfaden zeigt verschiedene Möglichkeiten, einen Prozess durch seine PID zu töten. Es zeigt auch alternative Methoden, die den Prozessnamen anstelle von PID verwenden. Es ist immer besser, mehrere Tools zur Verfügung zu haben. Hier haben wir die Befehle PID und Kill, Pkill und Killall verwendet, um die Befehle PID und Kill, Pkill und Killall zum Töten von Prozessen zu finden.

In vielen Situationen möchten Sie möglicherweise lästige Hintergrundprozesse, die fehlerhaft sind, loswerden. Erfahren Sie mehr über die Identifizierung von Hintergrundprozessen unter Linux. Nach den Methoden in diesem Handbuch können Sie dann leicht unerwünschte loswerden.
Happy Computing!