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

Pkill-Befehl unter Linux

Dieser Artikel behandelt die Grundlagen von Linux pkill Befehl.

pkill ist ein Befehlszeilendienstprogramm, das basierend auf bestimmten Kriterien Signale an die Prozesse eines laufenden Programms sendet. Die Prozesse können durch ihren vollständigen oder teilweisen Namen, einen Benutzer, der den Prozess ausführt, oder andere Attribute angegeben werden.

Das pkill Befehl ist ein Teil des procps (oder procps-ng )-Paket, das auf fast allen Linux-Distributionen vorinstalliert ist. pkill ist im Grunde ein Wrapper um den pgrep Programm, das nur eine Liste der passenden Prozesse ausgibt.

Verwendung des pkill Befehl #

Die Syntax für pkill Befehl lautet wie folgt:

pkill [OPTIONS] <PATTERN>

Das passende <PATTERN> wird mit erweiterten regulären Ausdrücken angegeben.

Wenn es ohne Option aufgerufen wird, pkill sendet die 15 (TERM ) Signal an die PIDs aller laufenden Programme, die mit dem angegebenen Namen übereinstimmen. Um beispielsweise alle Firefox-Prozesse ordnungsgemäß zu stoppen, würden Sie Folgendes ausführen:

pkill -15 firefox

Der Befehl gibt 0 zurück wenn mindestens ein laufender Prozess mit dem angeforderten Namen übereinstimmt. Andernfalls ist der Exit-Code 1 . Dies kann beim Schreiben von Shell-Skripten nützlich sein.

Um ein anderes Signal an die übereinstimmenden Prozesse zu senden, rufen Sie pkill auf Befehl mit dem --signal Option, gefolgt von entweder dem numerischen oder dem symbolischen Signalnamen. Eine andere Möglichkeit, ein Signal zu senden, besteht darin, pkill auszuführen gefolgt vom Signalnamen oder der Signalnummer mit vorangestelltem Bindestrich (- ).

Verwenden Sie das kill -l Befehl, um alle verfügbaren Signale aufzulisten.

Die am häufigsten verwendeten Signale sind:

  • 1 (HUP ):um einen Prozess neu zu laden.
  • 9 (KILL ):um einen Prozess zu beenden.
  • 15 (TERM ):um einen Prozess ordnungsgemäß zu stoppen.

Signale können auf drei verschiedene Arten angegeben werden:

  • mit einer Zahl (z. B. -1)
  • mit dem Präfix „SIG“ (z. B. -SIGHUP)
  • ohne das Präfix „SIG“ (z. B. -HUP).

Um beispielsweise die Nginx-Prozesse neu zu laden, würden Sie Folgendes ausführen:

pkill -HUP nginx

pkill verwendet reguläre Ausdrücke, um die Prozessnamen abzugleichen. Es ist immer eine gute Idee, pgrep zu verwenden Befehl, um die übereinstimmenden Prozesse auszudrucken, bevor Signale an sie gesendet werden. Um beispielsweise alle Prozesse aufzulisten, die „ssh“ in ihrem Namen enthalten:

1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

Wenn Sie nur den Prozessen ein Signal senden möchten, deren Namen genau dem Suchmuster entsprechen, würden Sie Folgendes verwenden:

pkill '^ssh$'
Das Caretzeichen (^ )-Zeichen am Anfang der Zeichenfolge und das Dollarzeichen $ Am Ende.

Standardmäßig pkill stimmt nur mit dem Prozessnamen überein. Wenn -f Option verwendet wird, vergleicht der Befehl mit vollständigen Argumentlisten. Wenn der Befehl Leerzeichen enthält, zitieren Sie den gesamten Befehl:

pkill -9 -f "ping 8.8.8.8"

Verwenden Sie das -u Option, um pkill mitzuteilen Prozesse abgleichen, die von einem bestimmten Benutzer ausgeführt werden:

pkill -u mark

Um mehrere Benutzer anzugeben, trennen Sie ihre Namen durch Kommas:

pkill -u mark,danny

Sie können Optionen und Suchmuster auch kombinieren. Zum Beispiel um KILL zu senden allen Prozessen signalisieren, die unter dem Benutzer „mark“ laufen und „gnome“ in ihrem Namen enthalten, würden Sie Folgendes eingeben:

pkill -9 -u mark gnome

Um nur die am längsten (ältesten) oder die zuletzt (neuesten) gestarteten Prozesse anzuzeigen, verwenden Sie -n (für neuste) oder das -o (für die älteste) Option.

Zum Beispiel, um den zuletzt erstellten Bildschirm zu beenden:

pkill -9 -n screen

Schlussfolgerung #

Das pkill Der Befehl wird verwendet, um basierend auf verschiedenen Kriterien Signale an laufende Programme zu senden.

Weitere Informationen zu pkill Befehl, rufen Sie die pkill-Manpage auf oder geben Sie man pkill ein in Ihrem Terminal.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Linux-mv-Befehl

  2. Linux-Du-Befehl

  3. Linux-IP-Befehl

  4. Linux-cd-Befehl

  5. pkill-Befehlsbeispiele in Linux

Datumsbefehl in Linux

Kostenloser Befehl unter Linux

Sudo-Befehl unter Linux

W-Befehl unter Linux

Bei Befehl unter Linux

Df-Befehl unter Linux