Pgrep: Unterschied zwischen den Versionen
K Textersetzung - „«“ durch „''“ |
K Textersetzung - „line>“ durch „line copy>“ |
||
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
! Befehl !! Beschreibung | ! Befehl !! Beschreibung | ||
|- | |- | ||
| [[#pgrep|pgrep]] || Durchsucht die | | [[#pgrep|pgrep]] || Durchsucht die Prozessliste und listet die Prozesskennungen (IDs), welche den Auswahlkriterien entsprechen auf | ||
|- | |- | ||
| [[#pkill|pkill]] || Sendet Signal (per Vorgabe SIGTERM) an passende Prozesse | | [[#pkill|pkill]] || Sendet Signal (per Vorgabe SIGTERM) an passende Prozesse | ||
|- | |- | ||
| [[#pidwait|pidwait]] || Wartet auf passende Prozesse | | [[#pidwait|pidwait]] || Wartet auf passende Prozesse | ||
|} | |} | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1-3" line> | <syntaxhighlight lang="bash" highlight="1-3" line copy> | ||
pgrep [Optionen] Muster | pgrep [Optionen] Muster | ||
pkill [Optionen] Muster | pkill [Optionen] Muster | ||
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 114: | Zeile 113: | ||
=== Argumente === | === Argumente === | ||
{| class="wikitable options col1center" | |||
Muster | ! Argument !! Beschreibung | ||
|- | |||
| Muster || Erweiterter [[Reguläre Ausdrücke|reguläre Ausdruck]] | |||
|} | |||
=== Exit-Status === | === Exit-Status === | ||
Zeile 131: | Zeile 133: | ||
|} | |} | ||
== | === Problembehebung === | ||
=== pgrep | ; 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 == | |||
Durchsucht die gegenwärtig laufenden Prozesse und listet die Prozesskennungen (IDs), welche den Auswahlkriterien entsprechen, in der Standardausgabe auf | 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 | * Übereinstimmungen sind für alle Auswahlkriterien erforderlich | ||
Zeile 138: | Zeile 155: | ||
; Beispiel 1 | ; Beispiel 1 | ||
Prozesse, deren Name sshd lautet UND root gehören | Prozesse, deren Name sshd lautet UND root gehören | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
pgrep -u root sshd | pgrep -u root sshd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 144: | Zeile 161: | ||
; Beispiel 2 | ; Beispiel 2 | ||
Prozesse, die entweder root ODER daemon gehören | Prozesse, die entweder root ODER daemon gehören | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
pgrep -u root,daemon | pgrep -u root,daemon | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; Prozesskennung des named-Daemons suchen: | ; Prozesskennung des named-Daemons suchen: | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
pgrep -u root named | pgrep -u root named | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; Detaillierte Informationen zu allen xterm-Prozessen ausgeben: | ; Detaillierte Informationen zu allen xterm-Prozessen ausgeben: | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
ps -fp $(pgrep -d, -x xterm) | ps -fp $(pgrep -d, -x xterm) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; Den Nice-Wert für alle chrome-Prozesse erhöhen: | ; Den Nice-Wert für alle chrome-Prozesse erhöhen: | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
renice +4 $(pgrep chrome) | renice +4 $(pgrep chrome) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== pkill == | |||
Sendet Signal (per Vorgabe SIGTERM) an passende Prozesse, anstatt diese in der Standardausgabe aufzulisten | 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 | Wartet auf passende Prozesse, anstatt diese in der Standardausgabe aufzulisten | ||
; syslog veranlassen, seine Konfigurationsdatei neu einzulesen: | ; syslog veranlassen, seine Konfigurationsdatei neu einzulesen: | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
pkill -HUP syslogd | pkill -HUP syslogd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 194: | Zeile 195: | ||
== Installation == | == Installation == | ||
'''pgrep ist Teil | '''pgrep''' ist Teil von [[procps]] | ||
== Anhang == | == Anhang == | ||
=== Siehe auch === | === Siehe auch === | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | ||
* [[ps]](1) | |||
* [[regex]](7) | |||
* [[signal]](7) | |||
* [[sigqueue]](3) | |||
* [[killall]](1) | |||
* [[skill]](1) | |||
* [[kill]](1) | |||
* [[kill]](2) | |||
* [[cgroups]](8) | |||
=== Dokumentation === | === Dokumentation === | ||
; Man-Page | ; Man-Page | ||
# | # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | ||
;Info-Page | ;Info-Page | ||
=== Links === | === Links === | ||
==== Projekt ==== | ==== Projekt ==== | ||
Zeile 221: | 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 11. Mai 2025, 13:43 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