Kill-Prozess in Bash
- Einfacher Prozess vs. Bash-Prozess
- Prozessidentifikationsnummer (PID)
- Beenden Sie einen 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.
-
Der Befehl
ps
zeigt alle laufenden Prozess-PIDs an. Zum Beispiel: -
Der Befehl
pidof
zeigt auch die PID des laufenden Prozesses an. Wir können diePID
des laufenden Prozesses anhand des Prozessnamens finden.Die obige Abbildung zeigt, dass ein
sleep
-Befehl im Hintergrund ausgeführt wird und derpidof
-Befehl verwendet wird, um die PID dieses Prozesses zu finden. -
Der Befehl
pgrep
zeigt auch diePID
des laufenden Prozesses an. Mit dem Befehlpgrep
können wir die PID nach Prozessnamen abrufen.Die obige Abbildung zeigt, dass ein
sleep
-Befehl im Hintergrund ausgeführt wird und derpgrep
-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.
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.
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.
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.
Die obige Abbildung zeigt einen Schlafprozess, der mit dem Befehl pkill -9
beendet wird.