Linux wird von Entwicklern und Enthusiasten gleichermaßen geliebt. Sie können viele Dinge tun, die Sie normalerweise unter Betriebssystemen wie Windows und OSX nicht tun können.
Linux ist das beste Betriebssystem für Programmierer, Entwickler und alle, die Betriebssysteme richtig verstehen wollen. Jetzt hat Linux viele Funktionen und Fähigkeiten. Heute lernen Sie etwas über die Linux-Befehle pgrep und pkill und wie Sie sie verwenden können, um Ihre Linux-Erfahrung lohnenswert zu machen. Wie der Name schon sagt, wird der Befehl pgrep verwendet, um den Prozess basierend auf dem Namen zu durchsuchen, und der Befehl pkill beendet oder beendet den Prozess basierend auf dem Namen.
Voraussetzungen
- Ein Linux-Betriebssystem (Screenshots stammen von einer centos / rhel-Maschine)
pgrep-Befehl
Syntax:# pgrep [Optionen] Muster
Die meisten Linux-Benutzer kennen den grep-Befehl, der verwendet wird, um bestimmte Wörter oder Zeichen zu finden. pgrep funktioniert fast genauso. Der Befehl pgrep wird bei der Suche nach Prozessen (basierend auf dem Namen) verwendet, die zum Zeitpunkt der Verwendung auf dem System ausgeführt werden.
Lassen Sie uns tief in pgrep-Befehlsbeispiele eintauchen,
Beispiel:1) Prozess-ID auflisten, die einem bestimmten Benutzer gehört (-u)
Bei Verwendung listet pgrep die Prozess-IDs auf, die den von Ihnen angegebenen Kriterien entsprechen. Wenn Sie zum Beispiel;
eingeben[[email protected] ~]# pgrep -u apache httpd 1274 1275 1278 1282 1283 1284 1286 1291 [[email protected] ~]#
Das System listet alle Prozesse namens httpd auf, die dem Apache-Benutzer gehören.
Beispiel:2) Alle Prozesse auflisten, die mehreren Benutzern gehören
Nehmen wir an, wir möchten alle Prozesse auflisten, die Root- und Apache-Benutzern gehören, führen Sie den folgenden Befehl aus,
[[email protected] ~]# pgrep -u apache,root
Hier werden Benutzer durch Kommas (,) getrennt
Ausgabe:
Beispiel:3) Anzahl des übereinstimmenden Prozesses zählen (-c)
Nehmen wir an, wir möchten die Anzahl der Prozesse zählen, die dem Apache- und Root-Benutzer gehören. Führen Sie den folgenden Befehl aus
[[email protected] ~]# pgrep -u apache -c 8 [[email protected] ~]# pgrep -u root -c 95 [[email protected] ~]#
Im obigen Befehl wird die Option „-c“ verwendet, um die Anzahl der Prozesse zu zählen, die einem Benutzer zugeordnet sind.
Beispiel:4) Prozess-IDs zusammen mit Prozessnamen auflisten (-l &-a)
Angenommen, wir möchten Prozess-IDs und Prozessnamen auflisten, die einem Benutzer zugeordnet sind, und dann -l verwenden oder -a Option im pgrep-Befehl. Die Option -l listet nur den Prozessnamen auf, während -a den vollständigen Pfad des Prozessnamens auflistet,
[[email protected] ~]# pgrep -u apache -l 4353 httpd 4354 httpd 4355 httpd 4356 httpd 4357 httpd 4358 httpd 4359 httpd 4360 httpd [[email protected] ~]# [[email protected] ~]# pgrep -u apache -a 4353 /usr/sbin/httpd -DFOREGROUND 4354 /usr/sbin/httpd -DFOREGROUND 4355 /usr/sbin/httpd -DFOREGROUND 4356 /usr/sbin/httpd -DFOREGROUND 4357 /usr/sbin/httpd -DFOREGROUND 4358 /usr/sbin/httpd -DFOREGROUND 4359 /usr/sbin/httpd -DFOREGROUND 4360 /usr/sbin/httpd -DFOREGROUND [[email protected] ~]#
Beispiel 5) Auflisten der einem Benutzer zugeordneten Prozess-IDs mit benutzerdefiniertem Trennzeichen (-d)
Verwenden Sie „-d ’-Option in pgrep, um die Prozess-IDs des Benutzers mithilfe von benutzerdefinierten Trennzeichen aufzulisten, nehmen wir an, wir listen die Prozess-IDs auf, die dem Apache-Benutzer zugeordnet sind, getrennt durch Komma (,) oder Leerzeichen.
[[email protected] ~]# pgrep -u apache -d, 4353,4354,4355,4356,4357,4358,4359,4360 [[email protected] ~]# pgrep -u apache -d" " 4353 4354 4355 4356 4357 4358 4359 4360 [[email protected] ~]#
Beispiel:6) Listen Sie den neuesten Prozessnamen und seine ID auf (-n)
Nehmen wir an, wir möchten den neuesten Prozessnamen und seine IDs auflisten, die dem Root-Benutzer gehören, führen Sie den folgenden pgrep-Befehl
ausSyntax:
# pgrep -u
[[email protected] ~]# pgrep -u root -n -l 11255 kworker/0:2 [[email protected] ~]#
Beispiel:7) Auflisten des ältesten Prozessnamens und seiner ID (-o)
Angenommen, wir möchten den ältesten Prozessnamen und seine IDs im Besitz des Root-Benutzers auflisten, führen Sie den Befehl pgrep aus
Syntax:
# pgrep -u
[[email protected] ~]# pgrep -u root -o -l 1 systemd [[email protected] ~]#
Beispiel:8) Suchprozess mit seinem Namen
Angenommen, wir möchten alle Prozess-IDs auflisten, die dem Postgres-Prozess zugeordnet sind
[[email protected] ~]# pgrep postgres -l 1233 postgres 1234 postgres 4465 postgres 4469 postgres [[email protected] ~]#
Und so verwenden wir pgrep. Kommen wir zum pkill-Befehl
pkill-Befehl
Der Befehl pkill wird verwendet, um Prozesse über die Befehlszeile zu beenden. Im Gegensatz zum kill-Befehl müssen Sie bei pkill nicht die ID des Prozesses eingeben, den Sie beenden möchten.
Wie benutzt man also pkill? Geben Sie einfach pkill mit dem Prozessnamen, den Sie beenden möchten, als Eingabe ein.
Syntax:
# pkill [Optionen]
Beispiel:9) Beenden Sie den Prozess anhand seines Namens (pkill {process_name})
Wenn Sie zum Beispiel den postgres-Prozess beenden möchten, geben Sie einfach;
ein[[email protected] ~]# pkill postgres [[email protected] ~]#
Wenn der Postgres-Prozess läuft, wird er sofort beendet.
Beispiel:10) Beenden Sie den Prozess, indem Sie ein anderes Signal senden (–Signal)
Standardmäßig verwendet der pkill-Befehl „SIGTERM ”-Signal während seiner Ausführung. Wir können dieses Standardsignal mit „–signal“ ändern ”-Option im pkill-Befehl, zum Beispiel
[[email protected] ~]# pkill --signal SIGKILL postgres [[email protected] ~]#
Beispiel:11) Beenden des Prozesses basierend auf dem vollständigen Befehl (-f)
Wir können den Befehl pkill anweisen, einen Prozess basierend auf dem vollständigen Befehl anstelle des Prozessnamens mit -f zu beenden Möglichkeit. Was bedeutet das? Angenommen, auf Ihrem System werden zwei Ping-Befehle ausgeführt.
pingen Sie google.com
pingen Sie linuxtechi.com
Wenn die Anforderung nun nur darin besteht, den Befehl „ping google.com“ mit pkill zu beenden. Sie können pkill folgendermaßen verwenden:
[[email protected] ~]# pkill -f "ping google.com" [[email protected] ~]#
Beachten Sie, dass die Option -f verwendet wird. Wenn Sie verwendet hätten;
[[email protected] ~]# pkill ping
dann werden beide Befehle beendet.
Abschließende Gedanken
In dieser Anleitung haben Sie anhand praktischer Beispiele alles über die Befehle pgrep und pkill gelernt.
Zusammenfassend ist pgrep ein Befehl, der bei der Suche nach Prozessen verwendet wird, die zum Zeitpunkt der Verwendung auf dem System ausgeführt werden. Seine Syntax ist pgrep [Optionen] Muster.
Auf der anderen Seite wird pkill verwendet, um Prozesse über die Befehlszeile zu beenden. Seine Syntax ist pkill [Optionen]
Sie können die beiden Befehle verwenden, um die Fähigkeiten und Flexibilität von Linux weiter zu nutzen. Jetzt, wo Sie alle Informationen haben, was denken Sie? Bitte hinterlassen Sie einen Kommentar und wir antworten gerne.