Linux pidof Command Tutorial für Anfänger (5 Beispiele)

Die Linux-Kommandozeile bietet eine Vielzahl von Dienstprogrammen, die mit Prozessen arbeiten. Sobald ein solches Tool pidof ist, erhalten Sie – wie der Name schon sagt – die Prozess-ID eines bereits ausgeführten Prozesses. In diesem Tutorial werden wir die Grundlagen von pidof anhand einiger leicht verständlicher Beispiele diskutieren.

Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einem Ubuntu 16.04 LTS-Rechner getestet wurden.

Linux-Befehl pidof

Wie bereits oben erwähnt, können Sie mit dem Befehl pidof die Prozess-ID eines laufenden Programms finden. Die Syntax ist wie folgt:

pidof [options] command

Und hier ist, was die Man Page über das Tool sagt:

       Pidof finds the process id's (pids) of the named  programs.  It  prints
       those id's on the standard output. This program is on some systems used
       in run-level change scripts, especially when the system has a  System-V
       like   rc  structure.  In  that  case  these  scripts  are  located  in
       /etc/rc?.d, where ? is the runlevel. If the system  has  a  start-stop-
       daemon (8) program that should be used instead.

Nachfolgend finden Sie einige Beispiele im Stil von Fragen und Antworten, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie das Tool funktioniert.

Q1. Wie benutzt man den pidof-Befehl?

Die grundlegende Verwendung ist ziemlich einfach – man muss nur den Namen des Programms als Eingabe an den Befehl übergeben. Zum Beispiel:

pidof gedit

Wie man den pidof-Befehl verwendet

So können Sie die Prozess-ID des Befehls, der gedit erzeugt hat, in der Ausgabe sehen.

Q2. Wie kann man erreichen, dass pidof nur eine Pid zurückgibt?

Manchmal werden Sie sehen, dass der Befehl pidof mehrere Pids zurückgibt. Versuchen Sie zum Beispiel, den Befehl pidof mit einem Webbrowser-Programm als Eingabe auszuführen.

pidof firefox

Nachfolgend finden Sie die auf meinem System erzeugte Ausgabe:

Beispiel für den pidof-Befehl

Falls Sie jedoch wünschen, können Sie das Werkzeug zwingen, nur eine einzige PID in der Ausgabe zu erzeugen. Dies kann mit der Befehlszeilenoption -s geschehen.

pidof -s firefox

pidof-Befehl einzelne pid

Q3. Wie kann man die Ausgabe basierend auf dem Stammverzeichnis begrenzen?

Wenn Sie möchten, dass pidof nur Prozess-IDs zurückgibt, die mit demselben Stammverzeichnis laufen, verwenden Sie die Befehlszeilenoption -c.

pidof -c program_name

Bitte beachten Sie, dass diese Option für Nicht-Root-Benutzer ignoriert wird, da sie das aktuelle Root-Verzeichnis von Prozessen, die
ihnen nicht gehören, nicht überprüfen können.

Q4. Wie benutzt man pidof im Falle von Binärdateien, die auf Netzwerk-Dateisystemen gehalten werden?

Beim Umgang mit Binärdateien, die sich auf netzwerkbasierten Dateisystemen wie NFS befinden, können Sie die Befehlszeilenoption -n verwenden, damit pidof nicht den Funktionsaufruf stat system verwendet.

pidof -n program_name

Bitte beachten Sie, dass die Man Page vorschlägt, „statt diese Option zu verwenden, kann die Variable PIDOF_NETFS gesetzt und exportiert werden“.

Q5. Wie funktioniert pidof intern?

Offizielle Dokumente sagen, dass pidof eigentlich dasselbe Programm wie killall ist. Das Programm verhält sich entsprechend dem Namen, unter dem es aufgerufen wird. Das steht genau in der Man Page:

       When pidof is invoked with a full pathname to the program it should
       find the pid of, it is reasonably safe. Otherwise it is  possible  that
       it  returns  pids of running programs that happen to have the same name
       as the program you're after but are actually other programs. Note  that
       that  the executable name of running processes is calculated with read?
       link(2), so symbolic links to executables will also match.

Schlussfolgerung

Der Befehl pidof kann in vielen Situationen nützlich sein. Wenn Sie beispielsweise einen Prozess töten möchten, dessen PID Sie nicht kennen, können Sie mit diesem Tool schnell die Prozess-ID finden und der Prozess kann innerhalb kürzester Zeit beendet werden. Der pidof-Befehl bietet nicht viele Optionen, und wir haben die meisten davon hier bereits diskutiert. Weitere Informationen finden Sie auf der Man Page des Tools.

Das könnte dich auch interessieren …