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.
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!