pgrep
pgrep - Prozesse finden oder Signal auf Basis des Namens oder anderer Attribute senden oder auf Prozesse warten
Beschreibung
| Befehl | Beschreibung |
|---|---|
| pgrep | Durchsucht die Prozessliste und listet die Prozesskennungen (IDs), welche den Auswahlkriterien entsprechen auf |
| pkill | Sendet Signal (per Vorgabe SIGTERM) an passende Prozesse |
| pidwait | Wartet auf passende Prozesse |
Aufruf
pgrep [Optionen] Muster
pkill [Optionen] Muster
pidwait [Optionen] Muster
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
| -Signal | --signal | Signal | definiert das Signal, das an jeden der passenden Prozesse gesendet werden soll
|
| -c | --count | unterdrückt normale Ausgaben und gibt stattdessen die Anzahl der passenden Prozesse aus
| |
| -d | --delimiter | Trenner | legt die in der Ausgabe als Trenner für die Prozesskennungen zu verwendende Zeichenkette fest
|
| -e | --echo | zeigt Name und Prozesskennung des zu killenden Prozesses an (nur für pkill) | |
| -f | --full | Das Muster wird normalerweise nur auf den Prozessnamen angewendet
| |
| -g | --pgroup | Prozessgruppe, … | sucht nur nach passenden Prozessen, die in den Prozessgruppenkennungen aufgelistet sind
|
| -G | --group | Gruppenkennung, … | berücksichtigt nur Prozesse, deren reale Gruppenkennung aufgelistet ist
|
| -i | --ignore | -case ignoriert Groß-/Kleinschreibung bei der Suche | |
| -l | --list | -name listet sowohl den Prozessnamen als auch die Prozesskennung auf (nur für pgrep) | |
| -a | --list | -full listet sowohl die vollständige Befehlszeile als auch die Prozesskennung auf (nur für pgrep) | |
| -n | --newest | wählt nur den neuesten (zuletzt gestarteten) aus den passenden Prozessen aus | |
| -o | --oldest | wählt nur den ältesten (zuerst gestarteten) aus den passenden Prozessen aus | |
| -O | --older | Sekunden | wählt Prozesse aus, die älter als die angegebene Anzahl Sekunden sind |
| -P | --parent | Eltern-Prozesskennung, … | sucht nur nach Prozessen, von denen die Kennung des übergeordneten Prozesses aufgelistet ist |
| -s | --session | Sitzungskennung, … | sucht nur nach passenden Prozessen, die in den Prozess-Sitzungskennungen aufgelistet ist
|
| -t | --terminal | Terminal, … | sucht nur nach passenden Prozessen, deren steuerndes Terminal aufgelistet ist
|
| -u | --euid | effektive_Benutzerkennung, … | sucht nur nach passenden Prozessen, deren effektive Benutzerkennung aufgelistet ist
|
| -U | --uid | Benutzerkennung, … | sucht nur nach passenden Prozessen, deren reale Benutzerkennung aufgelistet ist
|
| -v | --inverse | negiert die Anwendung der Suchkriterien
| |
| -w | --lightweight | zeigt bei pgrep oder pidwait alle Thread-Kennungen anstelle der Prozess-Kennungen an
| |
| -x | --exact | sucht nur nach passenden Prozessen, deren Namen (oder Befehlszeilen, falls -f angegeben ist) exakt dem Muster entsprechen | |
| -F | --pidfile | Datei | liest die Prozesskennungen aus einer Datei
|
| -L | --logpidfile | schlägt fehl, wenn die PID-Datei (siehe -F) nicht gesperrt ist | |
| -r | --runstates | D,R,S,Z, … | sucht nur nach Prozessen, die diesem Prozessstatus entsprechen |
| -A | --ignore | -ancestors ignoriert alle Vorgänger von pgrep, pkill oder pidwait
| |
| -H | --require | -handler sucht nur nach Prozessen, für die für das zu sendende Signal ein Userspace-Signalhandler vorhanden ist | |
| --cgroup | Name,… | Match on provided control group (cgroup) v2 name. See cgroups(8) | |
| --ns | Prozesskennung | sucht nach passenden Prozessen, die zu den gleichen Namensräumen gehören
| |
| --nslist | Name, … | sucht nur in den angegebenen Namensräumen nach Übereinstimmungen
| |
| -q | --queue | Wert | verwendet sigqueue(3) anstatt kill(2) und das Wert-Argument wird zur Angabe einer Ganzzahl verwendet, die mit dem Signal gesendet wird
|
| -V | --version | zeigt Versionsinformationen an und beendet das Programm | |
| -h | --help | zeigt eine Hilfe an und beendet das Programm |
Argumente
| Argument | Beschreibung |
|---|---|
| Muster | Erweiterter reguläre Ausdruck |
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Einer oder mehrere Prozesse entsprechen dem Kriterium
|
| 1 | Es wurden keine passenden Prozesse gefunden oder an keine von ihnen konnte ein Signal gesendet werden |
| 2 | Syntaxfehler in der Befehlszeile |
| 3 | Schwerwiegender Fehler: Speicher ausgeschöpft usw |
Problembehebung
- Anmerkung
Der für die Suche verwendete Prozessname ist auf die 15 Zeichen in der Ausgabe von /proc/Prozesskennung/stat beschränkt
- Verwenden Sie die Option -f, um stattdessen Übereinstimmungen in der gesamten Befehlszeile (/proc/Prozesskennung/cmdline) zu suchen
- Threads könnten nicht den gleichen Prozessnamen wie der Elternprozess haben, wohl aber die gleiche Befehlszeile
Die laufenden pgrep-, pkill- oder pidwait-Prozesse werden niemals selbst als Treffer gemeldet
Die Option -O --older wird stillschweigend fehlschlagen, falls /proc mit der Option subset=pid eingehängt ist
- Die Optionen -n, -o und -v können nicht kombiniert werden
- Bitte informieren Sie die Entwickler, falls das für Ihre Zwecke nötig sein sollte
- Bereits beendete Prozesse werden gemeldet
- pidwait erfordert den Systemaufruf pidfd_open(2), der zuerst in Linux 5.3 erschien
pgrep
Durchsucht die gegenwärtig laufenden Prozesse und listet die Prozesskennungen (IDs), welche den Auswahlkriterien entsprechen, in der Standardausgabe auf
- Übereinstimmungen sind für alle Auswahlkriterien erforderlich
- Beispiel 1
Prozesse, deren Name sshd lautet UND root gehören
pgrep -u root sshd
- Beispiel 2
Prozesse, die entweder root ODER daemon gehören
pgrep -u root,daemon
- Prozesskennung des named-Daemons suchen
pgrep -u root named
- Detaillierte Informationen zu allen xterm-Prozessen ausgeben
ps -fp $(pgrep -d, -x xterm)
- Den Nice-Wert für alle chrome-Prozesse erhöhen
renice +4 $(pgrep chrome)
pkill
Sendet Signal (per Vorgabe SIGTERM) an passende Prozesse, anstatt diese in der Standardausgabe aufzulisten
pidwait
Wartet auf passende Prozesse, anstatt diese in der Standardausgabe aufzulisten
- syslog veranlassen, seine Konfigurationsdatei neu einzulesen
pkill -HUP syslogd
Installation
pgrep ist Teil von procps
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Page
Links
Projekt
Weblinks