Kill-Prozess in Bash

Dr. Muhammad Abdullah 15 Februar 2024
  1. Einfacher Prozess vs. Bash-Prozess
  2. Prozessidentifikationsnummer (PID)
  3. Beenden Sie einen Prozess in Bash
Kill-Prozess in Bash

In diesem Artikel werden zunächst die verschiedenen Konzepte im Zusammenhang mit Linux-Prozessen erörtert. Und danach lernen wir die verschiedenen Möglichkeiten kennen, einen Prozess zu beenden.

Bevor wir uns mit dem Befehl töten befassen, müssen wir uns einige vorläufige Konzepte ansehen.

Einfacher Prozess vs. Bash-Prozess

Ein aktives oder laufendes Programm im Betriebssystem wird als Prozess bezeichnet. Wenn wir beispielsweise einen Editor oder einen Browser ausführen, erstellt das Betriebssystem für jeden einen Prozess.

Andererseits wird eine einfache ausführbare Datei, die im System über Bash ausgeführt wird, als Bash-Prozess bezeichnet. Beispielsweise wird ein neuer Bash-Prozess erstellt, wenn wir eine Anwendung ausführen, z. B. einen Taschenrechner über eine Bash-Shell.

Prozessidentifikationsnummer (PID)

Eine eindeutige Nummer oder Kennung, die jedem laufenden Prozess zugewiesen wird, wird als PID (Process Identifier) bezeichnet. Der Befehl ps zeigt alle laufenden Prozesse und ihre PIDs an.

  1. Der Befehl ps zeigt alle laufenden Prozess-PIDs an. Zum Beispiel:

    ps-Befehlsausgabe

  2. Der Befehl pidof zeigt auch die PID des laufenden Prozesses an. Wir können die PID des laufenden Prozesses anhand des Prozessnamens finden.

    pidof-Befehlsausgabe

    Die obige Abbildung zeigt, dass ein sleep-Befehl im Hintergrund ausgeführt wird und der pidof-Befehl verwendet wird, um die PID dieses Prozesses zu finden.

  3. Der Befehl pgrep zeigt auch die PID des laufenden Prozesses an. Mit dem Befehl pgrep können wir die PID nach Prozessnamen abrufen.

    pgrep-Befehlsausgabe

    Die obige Abbildung zeigt, dass ein sleep-Befehl im Hintergrund ausgeführt wird und der pgrep-Befehl verwendet wird, um die PID dieses Prozesses zu finden.

Beenden Sie einen Prozess in Bash

Es gibt viele Möglichkeiten, einen laufenden Prozess in Bash zu beenden. Im Folgenden sind einige der verfügbaren Optionen aufgeführt:

Verwenden Sie das Signal Strg+C

Wir können einen laufenden Prozess unterbrechen oder beenden und SIGINT mit den Tasten Strg+C senden. Strg+C sendet das Interrupt-Signal und das laufende Programm wird beendet, oder wir können sagen, dass das laufende Programm unterbrochen wird.

Bash-Kill-Prozess mit Strg + C

Die obige Abbildung zeigt, wie ein sleep 100-Befehl mit Strg+C unterbrochen wird. Wenn wir ein laufendes Programm mit Strg+C beenden oder unterbrechen, lautet der Exit-Code 130, was wir mit dem echo $? überprüfen können. Befehl.

Verwenden Sie den Befehl töten

Wir können einen laufenden Prozess mit dem Befehl kill beenden. Um einen laufenden Prozess zu beenden, benötigen wir die PID des Prozesses.

Unten ist die Syntax des Befehls kill:

kill <pid>

Der Befehl kill verwendet die PID eines beliebigen Prozesses, um ihn zu beenden. Wir können die PID jedes Prozesses mit den Befehlen ps, pidof oder pgrep finden.

Bash-Kill-Prozess mit kill

Die obige Abbildung zeigt einen Prozess mit der PID 14857, der mit dem Befehl kill beendet wird.

Wir können auch jeden Prozess beenden, indem wir einen Prozessnamen anstelle seiner PID verwenden. Die Befehle pkill oder killall können jeden Prozess mit einem Namen beenden.

Es folgt die Syntax der Befehle pkill und killall:

pkill <name>
killall<name>

Alle oben genannten kill-Befehle senden SIGKILL an den laufenden Prozess. Wenn einer der Befehle den laufenden Prozess auflegt, müssen wir die Signalnummer oder das Signal angeben.

Bash-Kill-Prozess mit Kill mit Signal-Nr.

Die obige Abbildung zeigt einen Prozess, der mit dem Befehl kill -9 beendet wird. Wir können eine Kill-Signalnummer oder ein Kill-Signal mit den Befehlen kill -SIGKILL <PID> oder kill -9 <PID senden, wobei 9 die SIGKILL-Nummer ist.

Wir können auch SIGKILL oder 9 mit den Befehlen pkill oder killall verwenden.

Bash-Kill-Prozess mit pkill mit Signal-Nr.

Die obige Abbildung zeigt einen Schlafprozess, der mit dem Befehl pkill -9 beendet wird.