pgrep, pkill, pidwait - Prozesse anhand von Namen und anderen Attributen suchen, signalisieren oder auf sie warten
SYNOPSIS
pgrep [Optionen] Muster
pkill [Optionen] Muster
pidwait [Optionen] Muster
BESCHREIBUNG
pgrep durchsucht die aktuell laufenden Prozesse und listet die Prozess-IDs auf, die den Auswahlkriterien entsprechen, und gibt diese an stdout aus. Alle Kriterien müssen übereinstimmen. Zum Beispiel:
$ pgrep -u root sshd
listet nur die Prozesse auf, die sshd heißen UND dem Benutzer root gehören. Auf der anderen Seite:
$ pgrep -u root,daemon
listet die Prozesse auf, die entweder root oder daemon gehören.
pkill sendet das angegebene Signal (standardmäßig SIGTERM) an jeden Prozess, anstatt sie an stdout aufzulisten.
pidwait wartet auf jeden Prozess, anstatt sie an stdout aufzulisten.
OPTIONEN
-signal
--signal Signal
Definiert das an jeden übereinstimmenden Prozess zu sendende Signal. Sowohl die numerische als auch die symbolische Signalbezeichnung können verwendet werden. Im Modus pgrep oder pidwait kann die lange Option nur verwendet werden und hat keine Wirkung, es sei denn, sie wird in Verbindung mit --require-handler verwendet, um die Prozesse zu filtern, die einen Benutzersignalhandler für ein bestimmtes Signal haben.
-c, --count
Unterdrückt die normale Ausgabe; stattdessen wird die Anzahl der übereinstimmenden Prozesse ausgegeben. Wenn keine Übereinstimmung gefunden wird, z. B. wenn das Ergebnis Null ist, gibt der Befehl einen Nicht-Null-Wert zurück. Beachten Sie, dass bei pkill und pidwait die Anzahl die Anzahl der übereinstimmenden Prozesse ist, nicht die Anzahl der Prozesse, denen erfolgreich ein Signal gesendet oder auf die erfolgreich gewartet wurde.
-d, --delimiter Trennzeichen
Legt die Zeichenkette fest, die verwendet wird, um jede Prozess-ID in der Ausgabe zu trennen (standardmäßig ein Zeilenumbruch). (Nur pgrep.)
-e, --echo
Zeigt den Namen und die PID des Prozesses an, der beendet wird. (Nur pkill.)
-f, --full
Normalerweise wird das Muster nur mit dem Prozessnamen abgeglichen. Wenn -f gesetzt ist, wird die vollständige Befehlszeile verwendet.
-g, --pgroup pgrp,...
Nur Prozesse in den angegebenen Prozessgruppen-IDs abgleichen. Prozessgruppe 0 wird in die eigene Prozessgruppe von pgrep, pkill oder pidwait übersetzt.
-G, --group gid,...
Nur Prozesse abgleichen, deren tatsächliche Gruppen-ID in der Liste enthalten ist. Entweder der numerische oder der symbolische Wert kann verwendet werden.
-i, --ignore-case
Prozesse unabhängig von der Groß-/Kleinschreibung abgleichen.
-l, --list-name
Den Prozessnamen sowie die Prozess-ID auflisten. (Nur pgrep.)
-a, --list-full
Die vollständige Befehlszeile sowie die Prozess-ID auflisten. (Nur pgrep.)
-n, --newest
Nur den neuesten (zuletzt gestarteten) der übereinstimmenden Prozesse auswählen.
-o, --oldest
Nur den ältesten (am wenigsten zuletzt gestarteten) der übereinstimmenden Prozesse auswählen.
-O, --älter als Sek.
Wählt Prozesse aus, die älter als Sek. sind.
-P, --Elternteil ppid,...
Nur Prozesse auswählen, deren Elternprozess-ID in der Liste enthalten ist.
-s, --Sitzung sid,...
Nur Prozesse auswählen, deren Prozesssitzungs-ID in der Liste enthalten ist. Sitzungs-ID 0 wird in die Sitzungs-ID von pgrep, pkill oder pidwait übersetzt.
-t, --Terminal term,...
Nur Prozesse auswählen, deren zugeordnetes Terminal in der Liste enthalten ist. Der Terminalname sollte ohne das Präfix "/dev/" angegeben werden.
-u, --euid euid,...
Nur Prozesse auswählen, deren effektive Benutzer-ID in der Liste enthalten ist. Es kann entweder der numerische oder der symbolische Wert verwendet werden.
-U, --uid uid,...
Nur Prozesse auswählen, deren tatsächliche Benutzer-ID in der Liste enthalten ist. Es kann entweder der numerische oder der symbolische Wert verwendet werden.
-v, --invertiert
Negiert die Übereinstimmung. Diese Option wird normalerweise im Kontext von pgrep oder pidwait verwendet. Im Kontext von pkill ist die Kurzoption deaktiviert, um eine versehentliche Verwendung zu vermeiden.
-w, --leichtgewichtig
Zeigt alle Thread-IDs anstelle von PIDs im Kontext von pgrep oder pidwait an. Im Kontext von pkill ist diese Option deaktiviert.
-x, --exakt
Nur Prozesse auswählen, deren Namen (oder Befehlszeilen, wenn -f angegeben ist) exakt mit dem Muster übereinstimmen.
-F, --pidfile-Datei
PIDs aus einer Datei lesen. Diese Option ist nützlicher für pkill oder pidwait als für pgrep.
-L, --protokolliere-piddatei
Fehlschlagen, wenn die PID-Datei (siehe -F) nicht gesperrt ist.
-r, --Ausführungszustände D,R,S,Z,...
Nur Prozesse auswählen, die dem Prozesszustand entsprechen.
-A, --ignoriere-Vorgänger
Alle Vorgänger von pgrep, pkill oder pidwait ignorieren. Dies kann beispielsweise nützlich sein, wenn mit sudo oder ähnlichen Tools eine Erhöhung der Berechtigungen vorgenommen wird.
-H, --erfordert-Handler
Nur Prozesse auswählen, die einen Benutzersignal-Handler für das zu sendende Signal haben.
--cgroup name,...
Übereinstimmung anhand des angegebenen Control Group (cgroup) v2-Namens. Siehe cgroups(8).
--ns pid
Prozesse auswählen, die zur gleichen Namespace gehören. Erfordert Root-Rechte, um Prozesse anderer Benutzer abzugleichen. Siehe --nslist, um festzulegen, welche Namespaces abgeglichen werden sollen.
--nslist name,...
Nur die angegebenen Namespaces abgleichen. Verfügbare Namespaces: ipc, mnt, net, pid, user, uts.
-q, --Warteschlange wert
sigqueue(3) anstelle von [kill]({filename}../../kill)(2) verwenden und der Wert als Argument verwendet wird, um eine Ganzzahl anzugeben, die mit dem Signal gesendet werden soll. Wenn der empfangende Prozess einen Handler für dieses Signal mit der SA_SIGINFO-Flagge in sigaction(2) installiert hat, kann er diese Daten über das Feld si_value der Struktur siginfo_t erhalten.
-V, --Version
Versionsinformationen anzeigen und beenden.
-h, --Hilfe
Hilfe anzeigen und beenden.
OPERANDEN
Muster
Gibt einen erweiterten regulären Ausdruck an, der mit den Prozessnamen oder Befehlszeilen abgeglichen wird.
BEISPIELE
Beispiel 1: Die Prozess-ID des benannten Daemons finden:
$ pgrep -u root named
Beispiel 2: Syslog dazu veranlassen, seine Konfigurationsdatei neu zu laden:
$ pkill -HUP syslogd
Beispiel 3: Detaillierte Informationen über alle xterm-Prozesse anzeigen:
$ ps -fp $(pgrep -d, -x xterm)
Beispiel 4: Alle Chrome-Prozesse dazu veranlassen, mit einer höheren Priorität zu laufen:
$ renice +4 $(pgrep chrome)
ABBRUCHSTATUS
0 Ein oder mehrere Prozesse entsprachen den Kriterien. Für `pkill` und `pidwait` muss auch sichergestellt sein, dass ein oder mehrere Prozesse erfolgreich signalisiert oder auf sie gewartet wurde.
1 Keine Prozesse entsprachen den Kriterien oder es konnte kein Signal an sie gesendet werden.
2 Syntaxfehler in der Befehlszeile.
3 Fataler Fehler: Nicht genügend Speicher usw.
HINWEISE
Der für den Abgleich verwendete Prozessname ist auf die 15 Zeichen beschränkt, die in der Ausgabe von /proc/pid/stat vorhanden sind. Verwenden Sie die Option -f, um mit der vollständigen Befehlszeile /proc/pid/cmdline abzugleichen.
Threads haben möglicherweise nicht denselben Prozessnamen wie der übergeordnete Prozess, haben aber dieselbe Befehlszeile.
Der ausgeführte Prozess pgrep, pkill oder pidwait meldet sich niemals selbst als Übereinstimmung.
Die Option -O oder --older schlägt stillschweigend fehl, wenn /proc mit der Option subset=pid gemountet ist.
FEHLER
Die Optionen -n und -o und -v können nicht kombiniert werden. Lassen Sie mich wissen, wenn Sie dies benötigen.
Defekte Prozesse werden gemeldet.
`pidwait` benötigt den Systemaufruf `pidfd_open(2)`, der erstmals in Linux 5.3 verfügbar war.
SIEHE AUCH
ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).
AUTOR
Kjetil Torgrim Homme
FEHLERMELDUNGEN
Bitte senden Sie Fehlermeldungen an _