BEZEICHNUNG

pgrep, pkill, pidwait - Prozesse finden oder ein Signal auf Basis des Namens oder anderer Attribute senden oder auf Prozesse warten

ÜBERSICHT

pgrep [Optionen] Muster
 
pkill [Optionen] Muster
 
pidwait [Optionen] Muster

BESCHREIBUNG

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. Beispielsweise listet
$ pgrep -u root sshd
nur die Prozesse auf, deren Name sshd lautet UND root gehören. Andererseits listet
$ pgrep -u root,daemon
jene Prozesse auf, die entweder root ODER daemon gehören.
pkill sendet das angegebene Signal (per Vorgabe SIGTERM) an jeden Prozess, anstatt diese in der Standardausgabe aufzulisten.
pidwait wartet auf jeden Prozess, anstatt diesen in der Standardausgabe aufzulisten.

OPTIONEN

-Signal
--signal Signal definiert das Signal, das an jeden passenden Prozess gesendet werden soll. Es werden entweder numerische Angaben oder der symbolische Signalname akzeptiert (nur für pkill).
-c, --count
unterdrückt normale Ausgaben und gibt stattdessen die Anzahl der passenden Prozesse aus. Wenn keine Übereinstimmungen gefunden werden, liefert der Befehl einen von 0 verschiedenen Rückgabewert. Beachten Sie, dass für pkill und pidwait die Anzahl der Anzahl der passenden Prozesse entspricht und nicht der Anzahl der Prozesse, an die erfolgreich ein Signal gesendet oder auf die gewartet wurde.
-d, --delimiter Trenner
legt die in der Ausgabe als Trenner für die Prozesskennungen zu verwendende Zeichenkette fest. Vorgabe ist ein Zeilenumbruch (gilt nur für pgrep).
-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. Wenn -f gesetzt ist, wird die vollständige Befehlszeile verwendet.
-g, --pgroup Prozessgruppe, …
sucht nur nach passenden Prozessen, die in den Prozessgruppenkennungen aufgelistet sind. Die Prozessgruppe 0 wird in die eigene Prozessgruppe von pgrep, pkill oder pidwait übersetzt.
-G, --group Gruppenkennung, …
berücksichtigt nur Prozesse, deren reale Gruppenkennung aufgelistet ist. Hier kann entweder der numerische oder der symbolische Wert verwendet werden.
-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. Die Sitzungskennung 0 wird in die eigene Prozessgruppe von pgrep, pkill oder pidwait übersetzt.
-t, --terminal Terminal, …
sucht nur nach passenden Prozessen, deren steuerndes Terminal aufgelistet ist. Der Terminalname sollte ohne das Präfix »dev« angegeben werden.
-u, --euid effektive_Benutzerkennung, …
sucht nur nach passenden Prozessen, deren effektive Benutzerkennung aufgelistet ist. Sie können entweder numerische oder symbolische Werte verwenden.
-U, --uid Benutzerkennung, …
sucht nur nach passenden Prozessen, deren reale Benutzerkennung aufgelistet ist. Sie können entweder numerische oder symbolische Werte verwenden.
-v, --inverse
negiert die Anwendung der Suchkriterien. Diese Option wird üblicherweise mit pgrep oder pidwait verwendet. In pkill ist die Kurzoption deaktiviert, um die zufällige Anwendung dieser Option zu vermeiden.
-w, --lightweight
zeigt bei pgrep oder pidwait alle Thread-Kennungen anstelle der Prozess-Kennungen an. In pkill ist diese Option deaktiviert.
-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. Diese Option ist eher für pkill oder pidwait als für pgrep sinnvoll.
-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
Ignore all ancestors of pgrep, pkill, or pidwait. For example, this can be useful when elevating with sudo or similar tools.
--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. Um Prozesse anderer Benutzer zu finden, sind Root-Rechte erforderlich. In --nslist finden Sie Informationen, wie Sie die Übereinstimmungen im Zusammenhang mit Namensräumen begrenzen können.
--nslist Name, …
sucht nur in den angegebenen Namensräumen nach Übereinstimmungen. Verfügbare Namensräume: ipc, mnt, net, pid, user, uts.
-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. Falls der empfangende Prozess mit dem SA_SIGINFO-Flag für sigaction(2) einen Handler für dieses Signal installiert hat, dann kann er diese Daten über das si_value-Feld der Struktur siginfo_t beziehen.
-V, --version
zeigt Versionsinformationen an und beendet das Programm.
-h, --help
zeigt eine Hilfe an und beendet das Programm.

OPERANDEN

Muster
gibt einen erweiterten regulären Ausdruck für die Übereinstimmungen von Prozessnamen oder Befehlszeilen an.

BEISPIELE

Beispiel 1: Prozesskennung des named-Daemons suchen:
$ pgrep -u root named
Beispiel 2: syslog veranlassen, seine Konfigurationsdatei neu einzulesen:
$ pkill -HUP syslogd
Beispiel 3: Detaillierte Informationen zu allen xterm-Prozessen ausgeben:
$ ps -fp $(pgrep -d, -x xterm)
Beispiel 4: Den Nice-Wert für alle chrome-Prozesse erhöhen:
$ renice +4 $(pgrep chrome)

EXIT-STATUS

0
Einer oder mehrere Prozesse entsprechen dem Kriterium. Für pkill und pidwait muss auch ein Signal erfolgreich an einen oder mehrere Prozesse gesendet oder auf sie gewartet worden sein.
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.

ANMERKUNGEN

The process name used for matching is limited to the 15 characters present in the output of /proc/ pid/stat. Use the -f option to match against the complete command line, /proc/ pid/cmdline. Threads may not have the same process name as the parent process but will have the same command line.
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.

FEHLER

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.

SIEHE AUCH

ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8)

AUTOR

Kjetil Torgrim Homme

FEHLER MELDEN

Bitte schicken Sie Fehlermeldungen (auf Englisch) an [email protected]

Recommended readings

Pages related to pgrep you should read also: