Pgrep: Unterschied zwischen den Versionen
K Textersetzung - „Kategorie:Linux/Prozess“ durch „Kategorie:Linux/Prozess/Befehl“ |
|||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 95: | Zeile 95: | ||
| -H || --require || || -handler sucht nur nach Prozessen, für die für das zu sendende Signal ein Userspace-Signalhandler vorhanden ist | | -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 | | || --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 | | || --ns || Prozesskennung || sucht nach passenden Prozessen, die zu den gleichen Namensräumen gehören | ||
Zeile 133: | Zeile 132: | ||
| 3 || Schwerwiegender Fehler: Speicher ausgeschöpft usw | | 3 || Schwerwiegender Fehler: Speicher ausgeschöpft usw | ||
|} | |} | ||
=== Problembehebung === | |||
; Anmerkung | |||
<blockquote> | |||
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 | |||
</blockquote> | |||
== pgrep == | == pgrep == | ||
Zeile 175: | Zeile 190: | ||
pkill -HUP syslogd | pkill -HUP syslogd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 225: | Zeile 224: | ||
{{DISPLAYTITLE:pgrep}} | {{DISPLAYTITLE:pgrep}} | ||
[[Kategorie:Linux/Prozess]] | [[Kategorie:Linux/Prozess/Befehl]] | ||
[[Kategorie:Procps]] | [[Kategorie:Procps]] | ||
[[Kategorie:Linux/Befehl]] | [[Kategorie:Linux/Befehl]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 5. April 2025, 11:49 Uhr
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