PIDOF(8)

BEZEICHNUNG
pidof - die Prozesskennung eines laufenden Programms finden

ÜBERSICHT
pidof [-s] [-c] [-n] [-x] [-z] [-o Ausschluss-PID[,Ausschluss-PID…]] [-o Ausschluss-PID[,Ausschluss-PID…]…] [-d Trenner] Programm [Programm…]

BESCHREIBUNG
pidof findet die Prozesskennungen (PIDs) der benannten Programme. Es gibt die Kennungen auf der Standardausgabe aus. Auf einigen Systemen wird dieses Programm in Skripten zur Änderung des Runlevels verwandt, insbesondere wenn das System eine System-V-artige rc-Struktur einsetzt. In diesem Fall befinden sich die Skripte in /etc/rc?.d, wobei »?« der Runlevel ist. Falls das System über das Programm start-stop-daemon(8) verfügt, sollte dieses stattdessen verwandt werden.

OPTIONEN

-s  Einzeldurchlauf - dies weist das Programm an, nur eine PID zurückzuliefern.

-c  liefert nur Prozess-PIDs zurück, die mit dem gleichen Wurzelverzeichnis ausgeführt werden. Diese Option wird bei von Root verschiedenen Benutzern ignoriert, da sie nicht in der Lage sind, das aktuelle Wurzelverzeichnis von Prozessen zu überprüfen, die ihnen nicht gehören.

-n  vermeidet den Systemfunktionsaufruf stat(2) für alle Programme, die sich auf einem Netzwerk-basierenden Dateisystem wie NFS befinden. Anstatt diese Option zu verwenden, kann die Variable PIDOF_NETFS gesetzt und verwandt werden.

-q  zeigt keine passenden PIDs auf der Standardausgabe an. Beendet sich einfach mit einem Status »wahr« oder »falsch« um anzuzeigen, ob eine passende PID gefunden wurde.

-x  Auch Skripte - dies führt dazu, dass das Programm auch die Prozesskennungen von Shells, die das benannte Skript ausführen, anzeigt.

-z  versucht Prozesse zu erkennen, die im Status Zombie (Z) hängen. Normalerweise werden diese Prozesse übersprungen, da eine Bearbeitung zum Aufhängen von pidof und ähnlichen Werkzeugen führen kann. Hinweis: In der Vergangenheit ignorierte pidof Prozesse im nichtunterbrechbaren Zustand (D), außer der Schalter -z wurde angegeben. Dies ist nicht mehr der Fall. Das Programm pidof wird Programme im Zustand D finden und berichten, unabhängig davon, ob -z angegeben wurde oder nicht.

-d Trenner
    weist pidof an, den angegebenen Trenner für die Ausgabe zu verwenden, falls mehr als eine PID angezeigt wird. Der vorgegebene Trenner ist ein Leerzeichen.

-o Ausschluss-PID
    weist pidof an, Prozesse mit dieser Kennung (PID) zu übergehen. Mit der speziellen PID %PPID können Sie den Namen des Elternprozesses des Programms pidof benennen, mit anderen Worten, die aufrufende Shell oder das Shell-Skript.

EXIT-STATUS

0   Es wurde mindestens ein Programm mit dem angegebenen Namen gefunden.

1   Es wurde kein Programm mit dem angegebenen Namen gefunden.

ANMERKUNGEN
pidof ist eigentlich das gleiche Programm wie killall5(8). Das Programm verhält sich nur unterschiedlich, je nachdem, unter welchem Namen es aufgerufen wird.

Wird pidof mit einem vollständigen Pfadnamen zum Programm, dessen PID gefunden werden soll, aufgerufen, dann ist es verhältnismäßig sicher. Andernfalls ist es möglich, dass es die PIDs von Programmen zurückliefert, die zufälligerweise den gleichen Namen wie das gesuchte Programm tragen, aber tatsächlich andere Programme sind. Beachten Sie, dass der Name der ausführbaren Datei, die einem laufenden Prozesses zugrunde liegt, mittels readlink(2) berechnet wird, so dass symbolische Links auf Programme auch Treffer sind.

Zombie-Prozesse oder Prozesse im Plattenschlaf (Zustände Z bzw. D) werden ignoriert, da der Zugriffversuch darauf manchmal fehlschlagen wird. Der Schalter -z (siehe oben) weist pidof an zu versuchen, diese schlafenden oder Zombie-Prozesse zu erkennen, wobei das Risiko des Aufhängens in Kauf genommen wird.

SIEHE AUCH
shutdown(8), init(8), halt(8), reboot(8), killall5(8)

AUTOR
Miquel van Smoorenburg (miquels@cistron.nl)