Linux kill Befehl Tutorial für Anfänger (5 Beispiele)

Manchmal, während Sie auf einem Linux-Rechner arbeiten, werden Sie feststellen, dass eine Anwendung oder ein Befehlszeilenprozess stecken bleibt (wird nicht mehr reagieren). Dann ist in diesen Fällen die Beendigung der einzige Ausweg. Die Linux-Befehlszeile bietet ein Dienstprogramm, das Sie in diesen Szenarien verwenden können. Das nennt man kill. Neben dem befehl kill gibt es auch noch den killall Befehl.

In diesem Tutorial werden wir die Grundlagen des Tötens anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele im Artikel auf einer Ubuntu 22.04 Maschine getestet wurden.

Linux kill Befehl

Der Befehl kill wird normalerweise verwendet, um einen Prozess zu beenden. Intern sendet es ein Signal, und je nachdem, was Sie tun wollen, gibt es verschiedene Signale, die Sie mit diesem Tool senden können. Die Syntax des Befehls lautet wie folgt:

kill [options] <pid> [...]

Und so beschreibt es die Man Page des Tools:

The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful 
signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways:
-9, -SIGKILL or -KILL. Negative PID values may be used to choose whole process groups; see the PGID
column in ps command output.  A PID of -1 is special; it indicates all processes except the kill
process  itself and init.

Die folgenden Beispiele im Q&A-Stil sollen Ihnen eine bessere Vorstellung davon vermitteln, wie der Befehl kill funktioniert.

Q1. Wie kann man einen Prozess mit dem Befehl kill beenden?

Das ist sehr einfach – alles, was du tun musst, ist, die Pid des Prozesses, den du töten willst, zu erhalten und sie dann an den Befehl kill zu übergeben.

kill [pid]

Zum Beispiel wollte ich den „gthumb“-Prozess auf meinem System beenden. Also benutzte ich zuerst den Befehl ps, um die pid der Anwendung zu holen, und übergab sie dann an den Befehl kill, um sie zu beenden. Hier ist der Screenshot, der das alles zeigt:

Wie man einen Prozess mit dem Befehl kill beendet

Q2. Wie kann man ein benutzerdefiniertes Signal senden?

Wie bereits im Einführungsabschnitt erwähnt, ist TERM das Standardsignal, das kill an die betreffende Anwendung bzw. den betreffenden Prozess sendet. Wenn Sie jedoch möchten, können Sie jedes andere Signal, das Support beendet, mit der Kommandozeilenoption -s senden.

kill -s [signal] [pid]

Wenn beispielsweise ein Prozess nicht auf das TERM-Signal reagiert (was es dem Prozess ermöglicht, vor dem Beenden eine endgültige Bereinigung durchzuführen), können Sie sich für das KILL-Signal entscheiden (das den Prozess keine Bereinigung durchführen lässt). Im Folgenden finden Sie den Befehl, den Sie in diesem Fall ausführen müssen.

kill -s KILL [pid]

Q3. Welche Signale kannst du mit Kill senden?

Natürlich ist die nächste logische Frage, die dir in den Sinn kommen wird, wie du wissen kannst, welche Signale du mit Kill senden kannst. Nun, zum Glück gibt es eine Kommandozeilenoption -l, die alle unterstützten Signale auflistet.

kill -l

Nachfolgend ist die Ausgabe des obigen Befehls, der auf unserem System erzeugt wurde:

Welche Signale können Sie mit kill senden?

Q4. Auf welche anderen Arten kann ein Signal gesendet werden?

In einem der vorherigen Beispiele haben wir dir gesagt, wenn du das KILL-Signal senden möchtest, kannst du es auf folgende Weise tun:

kill -s KILL [pid]

Es gibt jedoch auch eine Reihe anderer Alternativen:

kill -s SIGKILL [pid]
kill -s 9 [pid]

Die entsprechende Zahl kann mit der Option -l bekannt gemacht werden, die wir bereits im vorherigen Beispiel besprochen haben.

Q5. Wie kann man alle laufenden Prozesse auf einmal beenden?

Falls ein Benutzer alle Prozesse töten möchte, die er kann (dies hängt von seiner Berechtigungsstufe ab), dann kann er anstelle der Angabe einer großen Anzahl von Prozess-IDs einfach die Option -1 zum Töten übergeben.

Zum Beispiel:

kill -s KILL -1

Fazit

Der kill-Befehl ist ziemlich einfach zu verstehen und anzuwenden. Es gibt eine leichte Lernkurve in Bezug auf die Liste der Signaloptionen, die es bietet, aber wie wir hier erklärt haben, gibt es auch eine Option, einen kurzen Blick auf diese Liste zu werfen. Üben Sie einfach, was immer wir besprochen haben, und Sie sollten bereit sein. Weitere Informationen finden Sie auf der Man Page des Tools.

Das könnte dich auch interessieren …