pgrep
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Oftmals möchte man nur wissen ob ein bestimmtes Programm läuft oder welche PID es hat, dafür ist pgrep
der ideale Helfer. Kombinationen mit mehreren Pipes und grep
oder gar awk
sind dazu nicht nötig.
Installation¶
pgrep
ist ein eingebauter Befehl der Shell, eine Installation ist daher nicht notwendig, der Befehl ist immer vorhanden.
Beschreibung¶
pgrep
durchsucht die Liste der laufenden Programme und gibt deren PID, evtl. auch den gesamten Namen, auf stdout
aus, dabei müssen alle Auswahlkriterien zutreffen. Der Suchbegriff (Programmname) kann dabei auch als Regulärer Ausdruck angegeben werden.pgrep
und pkill nutzen dabei die gleiche Syntax.
Aufruf¶
Syntaxaufruf für die Verwendung in der Shell:
pgrep [-cflvx] [-d delim] [-n|-o] [-P ppid,...] [-g pgrp,...] [-s sid,...] [-u euid,...] [-U uid,...] [-G gid,...] [-t term,...] [Suchbegriff]
Hinweis:
Wenn pgrep
ohne die Option -x
aufgerufen wird werden alle Prozesse gefunden, die den Suchbegriff im Prozessnamen beinhalten.
Optionen¶
Eine Auswahl an Optionen und Ihre Bedeutung | |
-c | Die Option -c bewirkt die Ausgabe der Anzahl der laufenden Prozesse, anstatt der PIDs |
-d delim | Standardmäßig gibt pgrep je Zeile eine PID aus, durch Angabe eines Delimiters kann dies geändert werden. |
-f | Durch die Angabe von -f werden nicht nur die Prozessnamen sondern die gesamte Kommandozeile durchsucht, also auch evtl. vorhandene Parameter. |
-l | Die Option -l bewirkt, dass neben der PID auch der Prozessname aufgelistet wird. |
-v | Negiert den Suchbegriff. |
-x | Findet nur Prozesse mit genau diesem Suchbegriff . |
-n | Selektiert nur den neuesten (zuletzt gestarteten) Prozess. |
-o | Selektiert nur den ältesten (zuerst gestarteten) Prozess. |
-P pid,... | Findet nur Prozesse deren Elternprozess die PID pid haben. Eine Angabe von -P1 findet die Prozesse die vom Elternprozess 1, also init gestartet wurden. |
-U uid,... | Findet nur Prozesse der realen User-ID, dabei kann der numerische (z.B 1000) oder auch der symbolische Wert (z.B. username) genutzt werden. |
Für weitere Informationen siehe man: pgrep
.
Beispiele¶
Listen der PID aller Prozesse die im Namen ssh
beinhalten
pgrep ssh
Listen der PID und des Programmnamens die im Namen ssh
beinhalten
pgrep -l ssh
Anzahl aller Prozesse die im Namen ssh
beinhalten
pgrep -c ssh
Listen aller Prozesse die im Namen ssh
beinhalten und vom Elternprozess 1 (init) gestarted wurden.
pgrep -P1 ssh
Listen aller Prozesse die genau den Namen sshd
haben.
pgrep -x sshd
Listen aller Prozesse, PID und Namen, die irgendwo den Suchbegriff start
enthalten
pgrep -fl start
Links¶