GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen Kill- und Killall-Befehlen?

Von Linux-Foren bis hin zu Linux-Memes werden Sie auf zwei Befehle stoßen, um das Beenden von Programmen in Linux zu erzwingen; kill und killall.

Während viele Linux-Benutzer den Befehl kill kennen, kennen und verwenden nicht viele den Befehl killall.

Und es könnte für die Leute sowieso verwirrend sein. Beide Befehle haben einen ähnlich klingenden Namen und einen ähnlichen Zweck (um Prozesse zu beenden).

Also, was ist der Unterschied zwischen kill und killall? Welchen Befehl sollten Sie verwenden und in welchem ​​Fall sollten Sie sie verwenden?

Unterschied zwischen kill- und killall-Befehlen

Der Kill-Befehl arbeitet mit der Prozess-ID (PID) und beendet die Prozesse, für die Sie die PIDs bereitstellen. Andererseits arbeitet der Befehl killall mit dem Prozessnamen und beendet alle Prozesse mit den angegebenen Prozessnamen. Zum Beispiel, wenn es drei Instanzen von mysqld gibt läuft, wird killall alle drei mit killall mysqld töten während Sie die PIDs aller drei Instanzen angeben müssen, um den Befehl als kill PID1 PID2 PID3 zu beenden .

Einfacher ausgedrückt, der Befehl kill arbeitet mit PID (häufig individuelle PID) und der Befehl killall arbeitet mit dem Prozessnamen und beendet alle Prozesse mit dem Prozessnamen.

Lassen Sie mich das in Aktion zeigen.

Ich starte drei Instanzen eines Programms namens evince und schicke es in den Hintergrund (es läuft weiter, gibt aber die Kontrolle an das Terminal zurück).

evince &
evince &
evince &

Jetzt laufen drei Programme mit dem Prozessnamen evince, aber mit unterschiedlichen Prozess-IDs.

Um das Beenden des Prozesses mit dem Kill-Befehl zu erzwingen, müssen Sie die PIDs der gewünschten Prozesse angeben.

kill PID1

Geben Sie jedoch den Prozessnamen an den killall-Befehl an und er wird alle laufenden Instanzen mit diesen Prozessnamen beenden.

killall evince

Werfen Sie einen Blick auf den Screenshot unten, um alle Befehle in Aktion zu sehen:

Wie Sie hier sehen können, müssen Sie die Prozess-ID für den Kill-Befehl kennen und den Prozessnamen für den Killall-Befehl finden.

Welches solltest du verwenden? Kill oder Killall?

Da der Kill-Befehl mit einzelnen Prozessen arbeitet, ist er sicherer. Schließlich sollten Sie vor dem Ausführen des killall-Befehls sicherstellen, dass keine ähnlich benannten Prozesse laufen, die Sie nicht beenden möchten.

Ich hoffe, Sie haben jetzt ein klares Bild von den Befehlen kill und killalll. Fühlen Sie sich frei, eine Frage oder einen Vorschlag zu hinterlassen.


Linux
  1. Was ist der Unterschied zwischen InnoDB und MyISAM?

  2. Der Unterschied zwischen Kill, Pkill und Killall?

  3. Was ist der Unterschied zwischen strtok_r und strtok_s in C?

  4. Was ist der Unterschied zwischen adduser und useradd?

  5. Was ist der Unterschied zwischen kill, pkill und killall?

Was ist der Unterschied zwischen Linux und Unix?

Der Unterschied zwischen mehr, weniger und den meisten Befehlen

Was ist der Unterschied zwischen Cat und Touch Command?

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?