ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

pgrep

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png 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.

Installation

Das Programm ist im Paket

  • procps

enthalten, welches bei jeder Ubuntuinstallation automatisch mit installiert wird.

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 [1]:

 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 

Diese Revision wurde am 3. Juli 2012 13:21 von Commander_Data erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell