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

Linux-Killall-Befehl für Anfänger (8 Beispiele)

Wir haben bereits den Kill-Befehl besprochen, den Sie verwenden können, falls Sie Prozesse in Linux beenden möchten. Es gibt jedoch ein anderes Befehlszeilenprogramm, das Sie für denselben Zweck verwenden können:killall . In diesem Tutorial werden wir die Grundlagen dieses Befehls anhand einiger leicht verständlicher Beispiele besprechen.

Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Tutorial enthaltenen Beispiele auf Ubuntu 18.04 LTS getestet wurden.

Linux-Killall-Befehl

Mit dem Befehl killall können Sie Prozesse nach Namen beenden. Es folgt die Syntax des Tools:

killall [OPTIONS] name

Und so erklärt die Manpage das Tool:

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent. Signals can be specified either by name (e.g.  -HUP or -SIGHUP) or by number (e.g.  -1) or by option -s.

If  the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be  selected for killing, independent of their name.

killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall returns non-zero otherwise.

A killall process never kills itself (but may kill other  killall  processes).

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

Q1. Wie verwende ich den Killall-Befehl?

Die grundlegende Verwendung des Tools ist sehr einfach - alles, was Sie tun müssen, ist, den Namen des Prozesses als Argument an killall zu übergeben. Zum Beispiel, um gthumb zu töten Prozess, der auf meinem System lief, habe ich killall folgendermaßen verwendet:

killall gthumb

Beachten Sie, dass Sie ps verwenden können, falls Sie den genauen Namen des Prozesses nicht kennen Befehl zum Abrufen dieser Informationen.

Q2. Wird bei killall zwischen Groß- und Kleinschreibung unterschieden?

Ja ist es. Es gibt einen Fehler „Kein Prozess gefunden“ aus, wenn der Benutzer den Prozessnamen nicht in der richtigen Groß- und Kleinschreibung schreibt. Nachfolgend ein Beispiel:

Jedoch, wenn Sie möchten, können Sie killall mit dem -I zwingen, Groß- und Kleinschreibung zu ignorieren Befehlszeilenoption.

Q3. Wie bringt man killall dazu, vor dem Beenden des Prozesses nachzufragen?

Angenommen, Sie möchten, dass der killall-Befehl nach Benutzerberechtigungen fragt, bevor er einen Prozess beendet, dann können Sie das -i verwenden Befehlszeilenoption. Dadurch wird die Killall-Operation interaktiv.

Zum Beispiel:

Q4. Wie wähle ich das Signal aus, das Killall an den Prozess sendet?

Standardmäßig ist es das SIGTERM-Signal, das killall an Prozesse sendet. Sie können jedoch auch andere Signale senden. Sie können die Optionen -s verwenden , --signal , und -SIGNAL um diese anderen Signale zu senden.

Damit dies funktioniert, müssen Sie jedoch wissen, welche Signale der Befehl killall senden kann. Dies können Sie mit dem -l tun Befehlszeilenoption.

killall -l

Es folgt die Liste, die der oben genannte Befehl auf unserem System erzeugt hat:

F5. Wie verhindert man, dass sich Killall beschwert, wenn der angegebene Prozess nicht existiert?

Wenn der Prozess, dessen Name an "killall" übergeben wird, nicht läuft (nicht existiert), dann übermittelt das Tool dies dem Benutzer in der Ausgabe.

Wenn Sie jedoch nicht möchten, dass das Tool eine solche Ausgabe erzeugt, können Sie das -q verwenden Befehlszeilenoption.

Sie können also sehen, dass der killall-Befehl ruhig blieb, wenn -q verwendet wurde.

Q6. Wie kann man alle Prozesse beenden, die einem Benutzer gehören?

Wenn alle Prozesse beendet werden sollen, die einem bestimmten Benutzer gehören, können Sie das -u verwenden von killall bereitgestellte Option. Unnötig zu erwähnen, dass Sie für die Option den Benutzernamen des Benutzers als Eingabe angeben müssen.

killall -u [user-name]

Zum Beispiel:

killall -u himanshu

Q7. Wie beendet man Prozesse basierend auf Zeit?

Angenommen, Sie möchten alle Prozesse beenden, die jetzt länger als 5 Stunden laufen, dann können Sie dies mit dem -o tun Option wie folgt:

killall -o 5h

Natürlich können Sie Prozessnamen angeben, wenn Sie nicht alle Prozesse beenden möchten. Wenn Sie Prozesse beenden möchten, die beispielsweise weniger als 4 Stunden alt sind, können Sie dies mit -y tun Befehlszeilenoption.

killall -y 4h

So erklärt die Manpage diese Optionen:

-o, --older-than
              Match only processes that are older (started  before)  the  time
              specified.   The  time is specified as a float then a unit.  The
              units are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours,  days,
              weeks, Months and years respectively.

 -y, --younger-than
              Match  only  processes that are younger (started after) the time
              specified.  The time is specified as a float then a  unit.   The
              units  are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours, days,
              weeks, Months and years respectively.

Q8. Wie kann sichergestellt werden, dass killall nur zurückkehrt, wenn Prozesse sterben?

Nachdem das Signal von killall an den Prozess geliefert wurde, können Sie dies mit -w tun, wenn Sie sicherstellen möchten, dass der Befehl erst zurückkehrt, wenn der Prozess stirbt Befehlszeilenoption, die Killall zum Warten zwingt.

killall -w [process-name]

So beschreibt die Manpage diese Option:

-w, --wait
              Wait  for  all killed processes to die.  killall checks once per
              second if any of the  killed  processes  still  exist  and  only
              returns if none are left.  Note that killall may wait forever if
              the signal was ignored, had no effect, or if the  process  stays
              in zombie state.

Schlussfolgerung

Killall ist vielleicht kein Zuckerschlecken für Neulinge, aber es ist auch nicht sehr komplex. Sie müssen die angebotenen Befehlszeilenoptionen üben. Wir haben die meisten von ihnen besprochen, daher sollte dieses Tutorial ein guter Ausgangspunkt sein. Sobald Sie damit fertig sind, können Sie mehr über den Befehl lesen, indem Sie zu seiner Manpage gehen.


Linux
  1. 10 „rm“-Befehlsbeispiele für Linux-Anfänger

  2. 10 Beispiele für Linux-Cat-Befehle für Anfänger

  3. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. killall-Befehlsbeispiele in Linux

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)

Linux-Suchbefehl für Anfänger (8 Beispiele)

16 praktische Beispiele für Linux LS-Befehle für Anfänger

Linux-mv-Befehl für Anfänger erklärt (8 Beispiele)