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

Pgrep-Befehl unter Linux

Dieser Artikel behandelt die Grundlagen von Linux pgrep Befehl.

pgrep ist ein Befehlszeilendienstprogramm, mit dem Sie die Prozess-IDs eines laufenden Programms basierend auf bestimmten Kriterien finden können. Dies kann ein vollständiger oder teilweiser Prozessname, ein Benutzer, der den Prozess ausführt, oder andere Attribute sein.

Das pgrep Befehl ist ein Teil des procps (oder procps-ng )-Paket, das auf fast allen Linux-Distributionen vorinstalliert ist.

Verwendung des pgrep Befehl #

Die Syntax für pgrep Befehl lautet wie folgt:

pgrep [OPTIONS] <PATTERN>

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

Beim Aufruf ohne Option, pgrep zeigt die PIDs aller laufenden Programme an, die mit dem angegebenen Namen übereinstimmen. Um beispielsweise die PID des SSH-Servers zu finden, würden Sie Folgendes ausführen:

pgrep ssh

Wenn es laufende Prozesse mit Namen gibt, die mit „ssh“ übereinstimmen, werden ihre PIDs auf dem Bildschirm angezeigt. Wenn keine Übereinstimmungen gefunden werden, ist die Ausgabe leer.

1039
2257
6850
31279

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.

Wenn Sie Signale an die übereinstimmenden Prozesse senden möchten, verwenden Sie pkill . Dieser Befehl ist ein Wrapper um pkill , und verwendet dieselben Optionen und denselben Musterabgleich.

pgrep gibt jede übereinstimmende Prozess-ID in einem Zeilenumbruch aus. Das -d Mit der Option können Sie ein anderes Trennzeichen angeben. Wenn Sie beispielsweise ein Leerzeichen als Trennzeichen verwenden möchten, geben Sie Folgendes ein:

pgrep ssh -d' '
1039 2257 6850 31279

Das -l Option teilt pgrep mit um den Prozessnamen zusammen mit seiner ID anzuzeigen:

pgrep ssh -l

pgrep verwendet reguläre Ausdrücke, um die Suchoperation durchzuführen, und listet alle Prozesse auf, die „ssh“ in ihren Namen enthalten:

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

Wenn Sie nur die Prozesse finden möchten, deren Namen genau dem Suchmuster entsprechen, würden Sie Folgendes verwenden:

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

Standardmäßig pgrep stimmt nur mit dem Prozessnamen überein. Wenn -f Option verwendet wird, vergleicht der Befehl mit vollständigen Argumentlisten.

pgrep -f ssh

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

pgrep -u root

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

pgrep -u root,mark

Sie können Optionen und Suchmuster auch kombinieren. Um beispielsweise alle Prozesse und ihre Namen auszugeben, die unter dem Benutzer „mark“ laufen und „gnome“ in ihren Namen enthalten, würden Sie Folgendes eingeben:

pgrep -l -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.

Um beispielsweise den neuesten Prozess zu finden, der vom Benutzer „mark“ gestartet wurde, würden Sie Folgendes eingeben:

pgrep -lnu mark

Wie Sie dem obigen Beispiel entnehmen können, können Sie die Optionen auch ohne Leerzeichen und mit einem Bindestrich kombinieren.

Um die Zuordnung umzukehren, d. h. nur Prozesse anzuzeigen, die nicht den angegebenen Kriterien entsprechen, verwenden Sie den -v Möglichkeit. Der folgende Befehl gibt alle Prozesse aus, die nicht vom Benutzer „mark“ ausgeführt werden:

pgrep -v -u mark

Das -c Option teilt pgrep mit um nur die Anzahl der übereinstimmenden Prozesse zu drucken. Um beispielsweise die Prozesse zu finden, die als Benutzer „mark“ ausgeführt werden, geben Sie Folgendes ein:

pgrep -c -u mark

Schlussfolgerung #

Das pgrep Befehl wird verwendet, um die PIDs eines laufenden Programms anhand verschiedener Kriterien herauszufinden.

Weitere Informationen zu pgrep Befehl, rufen Sie die pgrep-Manpage auf oder geben Sie man pgrep 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-ps-Befehl

  4. pgrep-Befehlsbeispiele in Linux

  5. top -c Befehl in Linux zum Filtern von Prozessen, die basierend auf dem Prozessnamen aufgelistet sind

W-Befehl unter Linux

Bei Befehl unter Linux

Linux-PS-Befehl mit Beispielen

Df-Befehl unter Linux

Linux-PS-Befehl – ​​20 Beispiele aus dem wirklichen Leben

fuser Linux-Befehl mit Beispielen