pidof
ist ein Befehlszeilendienstprogramm, mit dem Sie die Prozess-ID eines laufenden Programms finden können.
In diesem Artikel erklären wir Ihnen, wie Sie den pidof
von Linux verwenden Befehl.
Verwendung des pidof
Befehl #
Es gibt verschiedene Implementierungen von pidof
für Red Hat und Debian basierte Distributionen. Bei Red Hat-Distributionen ist die Datei pidof
Befehl ist ein Teil des procps-ng
Paket, während es unter Debian Teil von sysvinit-utils
ist . Wir gehen die Optionen durch, die für beide Implementierungen gleich sind.
Die Syntax für pidof
Befehl lautet wie folgt:
pidof [OPTIONS] PROGRAM_NAME
Der Befehl akzeptiert null oder mehr Namen als Argumente, aber normalerweise würden Sie nur einen Namen an pidof
übergeben .
Beim Aufruf ohne Option, pidof
druckt die PIDs aller laufenden Programme, die mit dem angegebenen Namen übereinstimmen. Um beispielsweise die PID des SSH-Servers zu finden, würden Sie Folgendes ausführen:
pidof sshd
Wenn es laufende Prozesse mit Namen gibt, die mit sshd
übereinstimmen , ihre PIDs werden auf dem Bildschirm angezeigt. Wenn keine Übereinstimmungen gefunden werden, ist die Ausgabe leer.
4382 4368 811
pidof
gibt 0
zurück wenn mindestens ein laufendes Programm mit dem angeforderten Namen übereinstimmt. Andernfalls ist der Exit-Code 1
. Dies kann beim Schreiben von Shell-Skripten nützlich sein.
Um sicherzustellen, dass nur die PIDs des gesuchten Programms angezeigt werden, verwenden Sie den vollständigen Pfadnamen des Programms als Argument. Zum Beispiel, wenn Sie zwei laufende Programme mit demselben Namen haben, die sich in zwei verschiedenen Verzeichnissen pidof
befinden zeigt PIDs beider laufenden Programme.
Standardmäßig werden alle PIDs der passenden laufenden Programme angezeigt. Verwenden Sie das -s
Option zum Erzwingen von pidof
um nur eine PID anzuzeigen:
pidof -s program_name
Das -o
Mit der Option können Sie einen Prozess mit einer bestimmten PID von der Befehlsausgabe ausschließen:
pidof -o pid program_name
Wenn pidof
wird mit -o
aufgerufen Option können Sie eine spezielle PID namens %PPID
verwenden das die aufrufende Shell oder das Shell-Skript repräsentiert.
Um nur die PIDs der Prozesse zurückzugeben, die mit demselben Stammverzeichnis ausgeführt werden, verwenden Sie -c
Option.
Diese Option funktioniert nur pidof
wird als root oder sudo
ausgeführt Benutzer:
pidof -c pid program_name
Beispiel für die Verwendung des pidof
Befehl #
Das folgende Beispiel zeigt die Verwendung von pidof
Befehl in Kombination mit dem kill
Befehl zum Beenden eines Programms.
Nehmen wir an, der Firefox-Browser reagiert nicht mehr und Sie müssen die Firefox-Prozesse beenden. Suchen Sie zuerst die PIDs mit pidof
:
pidof firefox
Der Befehl druckt alle Firefox-Prozesse:
2551 2514 1963 1856 1771
Sobald Sie wissen, dass Firefox PIDs verarbeitet, senden Sie den SEGTERM
Signal, um alle zu beenden:
sudo kill -9 2551 2514 1963 1856 1771
Sie können auch den Befehlsersetzungsausdruck $(...)
verwenden , um das Programm mit einem Befehl zu beenden:
sudo kill -9 $(pidof firefox)
Schlussfolgerung #
Die pidof
Der Befehl wird verwendet, um die PIDs eines bestimmten laufenden Programms herauszufinden.
pidof
ist ein einfacher Befehl, der nicht viele Optionen hat. Normalerweise rufen Sie pidof
auf nur mit dem Namen des gesuchten Programms.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.