Startseite > Prozessverwaltung > pgrep

pgrep: Prozess-IDs finden

Der Befehl `pgrep` durchsucht die Liste der laufenden Prozesse nach bestimmten Kriterien (z. B. Prozessname, Benutzer, vollständige Befehlszeile) und gibt die Prozess-IDs (PIDs) der gefundenen Prozesse aus. Dies ist effizienter und einfacher als die Kombination von `ps` und `grep`, um die gewünschten Prozesse zu finden.

Übersicht

`pgrep` filtert Prozesse nach verschiedenen Kriterien wie Prozessname, Benutzer-ID, Terminal und übergeordnete Prozess-ID (PPID) und gibt die entsprechenden PIDs zurück. Dies ist nützlich, um bestimmte Prozesse in Skripten zu finden, zu steuern oder ihren Status zu überprüfen.

Hauptfunktionen

  • Unterstützung für die Suche basierend auf regulären Ausdrücken
  • Filterung von Prozessen nach Benutzer/Gruppe
  • Suche nach der vollständigen Befehlszeile möglich
  • Optionen zur Auswahl des ältesten oder neuesten Prozesses

Wichtige Optionen

Suchkriterien

Ausgabeformat und Sortierung

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`pgrep` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

PID eines bestimmten Prozesses finden

pgrep sshd

Findet die Prozess-ID für den Prozess namens `sshd`.

PID von Prozessen eines Benutzers finden

pgrep -u root

Findet die IDs aller Prozesse, die vom Benutzer `root` ausgeführt werden.

PID und Name zusammen ausgeben

pgrep -l firefox

Gibt die ID und den Namen des `firefox`-Prozesses zusammen aus.

Suche nach vollständiger Befehlszeile

pgrep -f "apache2.*worker"

Findet die IDs von Prozessen, deren vollständige Befehlszeile sowohl `apache2` als auch `worker` enthält.

Suche nach exakter Übereinstimmung

pgrep -x ssh

Findet die Prozess-ID für den Prozess mit dem exakten Namen `ssh`. (`sshd` wird ausgeschlossen)

Neuesten Prozess finden

pgrep -n chrome

Findet die PID des zuletzt gestarteten `chrome`-Prozesses.

Tipps & Hinweise

`pgrep` ist mächtig, aber bei falscher Anwendung können unbeabsichtigt Prozesse beendet oder beeinflusst werden. Seien Sie daher vorsichtig.

Kombination mit pkill

Anstatt die von `pgrep` gefundenen PIDs manuell an den `kill`-Befehl zu übergeben, ist es praktisch, den `pkill`-Befehl zu verwenden. Dieser kann Prozesse direkt mit denselben Suchkriterien wie `pgrep` beenden oder Signale senden. Zum Beispiel beendet `pkill -f "nginx.*worker"` direkt die `nginx`-Worker-Prozesse.

Verwendung regulärer Ausdrücke

`pgrep` unterstützt standardmäßig reguläre Ausdrücke. Dies ermöglicht komplexe Musterabgleiche.

  • `pgrep 'httpd|nginx'` findet Prozesse mit den Namen `httpd` oder `nginx`.
  • Mit der Option `-f` können Sie die Ausführung bestimmter Skripte genau identifizieren, z. B. `pgrep -f '^/usr/bin/python3.*script.py$'`.

Option -x für exakte Übereinstimmung

`pgrep` führt standardmäßig Teilübereinstimmungen durch. Zum Beispiel findet `pgrep ssh` nicht nur `ssh`, sondern auch `sshd`. Um nur Prozesse mit dem exakten Namen `ssh` zu finden, verwenden Sie die Option `-x`. Dies ist wichtig, um unbeabsichtigte Beeinflussung von Prozessen zu vermeiden.


Gleiche Kategorie Befehle