Linux verwaltet seine laufenden Prozesse intern, indem es jedem eine eindeutige ID-Nummer zuweist, die als Prozess-ID oder PID bezeichnet wird. Jedem aktiven Programm, Dienstprogramm und Daemon wird eine PID zugewiesen. Einfache ganzzahlige Werte bilden PIDs. Einem neu gestarteten Prozess wird eine PID zugewiesen, die um eins höher ist als die vorherige PID. Daher ist der neueste – das heißt der zuletzt gestartete – Prozess derjenige mit der höchsten PID. Dies wird fortgesetzt, bis der Maximalwert der PID vom System erreicht wird.

Eine PID kann einen Maximalwert von 32768 haben. Wenn diese Zahl erreicht ist, beginnt Linux von vorne und sucht nach einer PID, die jetzt verfügbar ist seit a Prozess, der zuvor sein Eigentümer war, beendet wurde. Wenn Linux von den Boot-Prozessen gestartet wird, wird der Prozess mit einer PID von 1 als erster ausgeführt. Das ist systemd auf Systemen, auf denen systemd ausgeführt wird. Auf anderen Systemen ist init wahrscheinlich der Standard, während einige Linux-Versionen alternativ auch OpenRc oder s6 verwenden. Wir haben unten erwähnt, wie man die PID eines Linux-Prozesses mit pidof oder pgrep findet.

Möglichkeiten, die PID eines Linux-Prozesses mit pidof oder pgrep zu finden

Finden Sie heraus, ob der Prozess PID auf Ihrem Linux läuft oder nicht

Einfach ps-Befehl wie folgt verwenden:

ps aux | grep {Prozessname-hier}ps-aux | grep {process-to-find-here}

Lassen Sie uns beispielsweise herausfinden, ob der mysqld-Prozess (mysqld pid) läuft oder nicht. Geben Sie Folgendes ein:

$ps aux | grep mysqld

Der grep-Befehl dient als Filter. Der | wird Shell-Pipe genannt. Es ist eine Möglichkeit, die Ausgabe eines Programms mit der Eingabe eines anderen Programms ohne temporäre Datei zu verbinden. In diesem Beispiel wird die Ausgabe von ps als Eingabe für den Befehl grep angegeben, um unter Unix und Linux nach gewünschten Prozessnamen zu suchen. Verwenden Sie für mehrere Prozesse den Befehl egrep wie folgt:

ps aux | egrep ‘app1|app2’ps aux | egrep ‘nginx|mysql|apache’ps aux | grep-E’nginx|mysql|apache’

Suchen der Prozess-ID eines laufenden Programms mit PIDOF

Der Pidof-Befehl findet die Prozess-IDs (PIDs) der benannten Programme. Es druckt diese IDs (PIDs) auf Ihrem Bildschirm. Dieses Programm wird auf einigen Systemen in Runlevel-Änderungsskripten verwendet, insbesondere wenn das System eine System-V-ähnliche rc-Struktur hat. In diesem Fall befinden sich diese Skripte in/etc/rc?.d, wo ? ist der Runlevel. Wenn das System über ein Start-Stop-Daemon-Programm verfügt, das stattdessen verwendet werden sollte. Hier ist zum Beispiel, wie man sieht, ob mysqld oder nginx läuft oder nicht, indem man seine PID findet:

$ pidof nginx$ pidof mysqld

Final Words

Wenn Sie einen Prozess verwalten oder mit ihm kommunizieren müssen, der gerade auf Ihrem System ausgeführt wird, kann es hilfreich sein, die PID und PPID des Prozesses zu kennen. Die PID (Prozess-ID) und PPID (Übergeordnete Prozess-ID) eines bestimmten Prozesses können in Linux-Apps auf verschiedene Weise abgerufen werden. Ein Prozess, der nur eine laufende Instanz einer Software ist, steuert, wie alles auf Ihrem System funktioniert. Wir hoffen, dass unser Artikel „So finden Sie die PID eines Linux-Prozesses mit pidof oder pgrep“ Ihnen sicher dabei helfen kann.

By Maxwell Gaven

Ich habe 7 Jahre im IT-Bereich gearbeitet. Es macht Spaß, den stetigen Wandel im IT-Bereich zu beobachten. IT ist mein Job, Hobby und Leben.