pgrep, pkill, pidwait - Prozesse finden oder ein Signal auf Basis des Namens
oder anderer Attribute senden oder auf Prozesse warten
pgrep [Optionen] Muster
pkill [Optionen] Muster
pidwait [Optionen] Muster
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.
-
-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.
- Muster
- gibt einen erweiterten regulären Ausdruck für
die Übereinstimmungen von Prozessnamen oder Befehlszeilen an.
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)
- 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.
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.
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.
ps(1),
regex(7),
signal(7),
sigqueue(3),
killall(1),
skill(1),
kill(1),
kill(2),
cgroups(8)
Kjetil Torgrim Homme
Bitte schicken Sie Fehlermeldungen (auf Englisch) an
[email protected]