ubuntuusers.de

pidof

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 pidof liefert die Prozessidentifikationsnummer/n (PIDs) zu gegebenen Prozessnamen oder -pfaden. Es wird z.B. in Kombination mit Shell-Skripten verwendet.

Installation

Das Programm ist im Paket

  • sysvinit-utils

enthalten, das bei jeder Ubuntuinstallation automatisch vorinstalliert ist.

Benutzung

Die allgemeine Syntax lautet [1]:

pidof [OPTIONEN] Prozessname [Prozessname2 ...] 

Prozessnamen sind dabei die Namen der gesuchten Programme, z.B. "gedit", "nano", "firefox"...

pidof akzeptiert folgende Optionen:

Optionen von pidof
OptionBeschreibung
-s "Single shot" - Teilt pidof mit, nur eine Prozess-ID auszugeben
-o "omitpid" - mit -o angegebene Prozess-IDs werden bei der Ausgabe übersprungen

Beispiele

pidof nano 
Gibt die Prozess-IDs aller laufenden Prozesse von nano aus.
pidof -s nano 
Gibt die Prozess-ID aus, die im vorherigen Beispiel an erster Stelle stand.
pidof nano firefox 
Gibt die Prozess-IDs aller laufenden Prozesse von nano und firefox aus.
pidof -o 6741 nano 
Gibt die Prozess-IDs aller laufenden Prozesse von nano, bis auf 6741, aus.

Hinweis:

Wie man sieht, gibt pidof die Prozess-IDs aller laufenden Prozesse des angegebenen Namens. Dies kann unter Umständen Verwirrung stiften, falls jemand einem anderen Programm den gleichen Namen gegeben hat. Um sicherzustellen, dass man den korrekten Prozess findet, kann man statt eines Namens auch den ganzen Pfad des Programms angeben, z.B.

pidof /bin/nano 

pidof in Skripten

pidof lässt sich sehr gut in Skripten einsetzen oder mit anderen Befehlen kombinieren:

sudo renice -10 $(pidof nano) 

aber wird auch oft überflüssigerweise eingesetzt, wo eigene Programme existieren:

kill $(pidof nano) 

wird besser mit

pkill nano 

realisiert.

Fortgeschrittene Tipps

Mit pidof lässt sich auch gut überprüfen, ob ein Programm noch läuft:

while pidof <ProgrammName>; do
# ...
done 

Diese Revision wurde am 9. November 2017 22:43 von BillMaier erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Prozesse, System, Shell