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 Prozessnummer (PID) es hat. Dafür ist pgrep der ideale Helfer. Kombinationen mit mehreren Pipes und grep oder gar awk sind dazu nicht nötig.
Das Programm ist im Paket
procps
enthalten, welches bei jeder Ubuntuinstallation automatisch mit installiert wird.
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.
Syntaxaufruf für die Verwendung in der Shell [1]:
pgrep [-cflvx] [-d delim] [-n|-o] [-P ppid,...] [-g pgrp,...] [-s sid,...] [-u euid,...] [-U uid,...] [-G gid,...] [-t term,...] [Suchbegriff]
Wenn pgrep
ohne die Option -x
aufgerufen wird werden alle Prozesse gefunden, die den Suchbegriff im Prozessnamen beinhalten.
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
.
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
Diese Revision wurde am 3. Juli 2012 13:21 von Commander_Data erstellt.