##Bitte hier den eigenen Benutzernamen und das geplante Fertigstellungsdatum eintragen [[Vorlage(Baustelle, 13.1.2011, RapaNui)]] ## eine vollständige Befehlsübersicht befindet sich im Wiki unter http://wiki.ubuntuusers.de/Wiki/Syntax ## eine Kopiervorlage für viele Syntaxelemente findet man unter http://wiki.ubuntuusers.de/Vorlage/Schnellstart [[Inhaltsverzeichnis(1)]] [[Vorlage(Getestet, general)]] 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 = `pkill` 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 [:Shell/pkill: pkill] nutzen dabei die gleiche Syntax. = Aufruf = Syntaxaufruf für die Verwendung in der Shell: {{{#!vorlage Befehl pgrep [-cflvx] [-d delim] [-n|-o] [-P ppid,...] [-g pgrp,...] [-s sid,...] [-u euid,...] [-U uid,...] [-G gid,...] [-t term,...] [Suchbegriff] }}} {{{#!vorlage Hinweis Wenn `pgrep` ohne die Option `-x` aufgerufen wird werden alle Prozesse gefunden, die den Suchbegriff im Prozessnamen beinhalten. }}} = Optionen = {{{#!vorlage Tabelle <-2 rowclass="titel"> 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 {{{#!vorlage Befehl pgrep ssh }}} Listen der PID und des Programmnamens die im Namen `ssh` beinhalten {{{#!vorlage Befehl pgrep -l ssh }}} Anzahl aller Prozesse die im Namen `ssh` beinhalten {{{#!vorlage Befehl pgrep -c ssh }}} Listen aller Prozesse die im Namen `ssh` beinhalten und vom Elternprozess 1 (init) gestarted wurden. {{{#!vorlage Befehl pgrep -P1 ssh }}} Listen aller Prozesse die genau den Namen `sshd` haben. {{{#!vorlage Befehl pgrep -x sshd }}} Listen aller Prozesse, PID und Namen, die irgendwo den Suchbegriff `start` enthalten {{{#!vorlage Befehl pgrep -fl start }}} = Links = * [http://linux.die.net/man/1/pgrep Manpage auf linux.die.net] ---- # tag: Shell