Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
pidof liefert die Prozessidentifikationsnummer/n (PIDs) zu gegebenen Prozessnamen oder -pfaden. Es wird z.B. in Kombination mit Shell-Skripten verwendet.
Das Programm ist im Paket
sysvinit-utils
enthalten, das bei jeder Ubuntuinstallation automatisch vorinstalliert ist.
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 | |
Option | Beschreibung |
-s | "Single shot" - Teilt pidof mit, nur eine Prozess-ID auszugeben |
-o | "omitpid" - mit -o angegebene Prozess-IDs werden bei der Ausgabe übersprungen |
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. |
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 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.
Mit pidof lässt sich auch gut überprüfen, ob ein Programm noch läuft:
while pidof <ProgrammName>; do # ... done
Diese Revision wurde am 14. Oktober 2015 22:38 von aasche erstellt.