PGREP(1) General Commands Manual PGREP(1) BEZEICHNUNG pgrep, pkill, pidwait - Prozesse finden oder ein Signal auf Basis des Namens oder anderer Attribute senden oder auf Prozesse warten UBERSICHT pgrep [Option ...] Muster pkill [Option ...] Muster pidwait [Option ...] Muster BESCHREIBUNG pgrep durchsucht die gegenwartig laufenden Prozesse und listet die Prozesskennungen (IDs), welche den Auswahlkriterien entsprechen, in der Standardausgabe auf. Ubereinstimmungen sind fur alle Auswahlkriterien erforderlich. Beispielsweise listet $ pgrep -u root sshd nur die Prozesse auf, deren Name sshd enthalt UND die root gehoren. Andererseits listet $ pgrep -u root,daemon jene Prozesse auf, die entweder root ODER daemon gehoren. 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 der passenden Prozesse gesendet werden soll. Dafur kann entweder der numerische oder ein symbolischer Signalname verwendet werden. Nur im pgrep- oder pidwait-Modus kann die lange Option verwendet werden. Sie ist allerdings dann wirkungslos, wenn sie nicht zusammen mit --require-handler verwendet wird, um nur Prozesse anzuzeigen, fur die bei einem bestimmten Signal ein Userspace-Signalhandler vorhanden ist. -a, --list-full listet sowohl die vollstandige Befehlszeile als auch die Prozesskennung auf (nur fur pgrep). -A, --ignore-ancestors ignoriert alle Vorganger von pgrep, pkill oder pidwait. Dies kann beispielsweise in Verbindung mit sudo oder ahnlichen Werkzeugen nutzlich sein. -c, --count unterdruckt normale Ausgaben und gibt stattdessen die Anzahl der passenden Prozesse aus. Wenn keine Ubereinstimmungen gefunden werden, liefert der Befehl einen von 0 verschiedenen Ruckgabewert. Beachten Sie, dass fur 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 fur die Prozesskennungen zu verwendende Zeichenkette fest. Vorgabe ist ein Zeilenumbruch (gilt nur fur pgrep). -e, --echo zeigt Name und Prozesskennung des abzuwurgenden Prozesses an (nur fur pkill). -f, --full Das Muster wird normalerweise nur auf den Prozessnamen angewendet. Wenn -f gesetzt ist, wird die vollstandige Befehlszeile verwendet. -F, --pidfile Datei liest die Prozesskennungen aus einer Datei. Diese Option ist eher fur pkill oder pidwait als fur pgrep sinnvoll. Um aus der Standardeingabe (STDIN) zu lesen, geben Sie >>-<< als Dateinamen an. Dies ist nicht zusammen mit der Option --pid verwendbar. -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 ubersetzt. -G, --group Gruppenkennung, berucksichtigt nur Prozesse, deren reale Gruppenkennung aufgelistet ist. Hier kann entweder der numerische oder der symbolische Wert verwendet werden. -H, --require-handler sucht nur nach Prozessen, fur die fur das zu sendende Signal ein Userspace-Signalhandler vorhanden ist. -i, --ignore-case ignoriert Gross-/Kleinschreibung bei der Suche. -l, --list-name listet sowohl den Prozessnamen als auch die Prozesskennung auf (nur fur pgrep). -L, --logpidfile schlagt fehl, wenn die PID-Datei (siehe -F) nicht gesperrt ist. -m, --mrelease lost nach dem Senden des Signals den Systemaufruf process_mrelease() aus, um den Speicher des Zielprozesses sofort freizugeben. -n, --newest wahlt nur den neuesten (zuletzt gestarteten) aus den passenden Prozessen aus. -o, --oldest wahlt nur den altesten (zuerst gestarteten) aus den passenden Prozessen aus. -O, --older Sekunden wahlt Prozesse aus, die alter als die angegebene Anzahl Sekunden sind. -p, --pid Prozesskennung, sucht nur nach Prozessen, deren Kennung aufgelistet sind. Dies ist nicht zusammen mit --pidfile verwendbar. -P, --parent Eltern-Prozesskennung, sucht nur nach Prozessen, von denen die Kennung des ubergeordneten Prozesses aufgelistet ist. -q, --queue Wert sendet den ganzzahligen Wert zusammen mit dem Signal. Diese Option verwendet entwederpidfd_send_signal(2) mit einem zugewiesenen Wert oder sigqueue(3) anstelle vonkill(2). Falls der empfangende Prozess mit dem SA_SIGINFO-Flag fur sigaction(2) einen Handler fur dieses Signal installiert hat, dann kann er diese Daten uber das si_value-Feld der Struktur siginfo_t beziehen. -Q, --shell-quote gibt nur die Befehlszeile in Shell-maskierter Form aus (nur fur pgrep). -r, --runstates D,R,S,Z, sucht nur nach Prozessen, die diesem Prozessstatus entsprechen. -s, --session Sitzungskennung, sucht nur nach passenden Prozessen, die in den Prozess-Sitzungskennungen aufgelistet sind. Die Sitzungskennung 0 wird in die eigene Prozessgruppe von pgrep, pkill oder pidwait ubersetzt. -t, --terminal Terminal, sucht nur nach passenden Prozessen, deren steuerndes Terminal aufgelistet ist. Der Terminalname sollte ohne das Prafix >>dev<< angegeben werden. -u, --euid effektive_Benutzerkennung, sucht nur nach passenden Prozessen, deren effektive Benutzerkennung aufgelistet ist. Sie konnen entweder numerische oder symbolische Werte verwenden. -U, --uid Benutzerkennung, sucht nur nach passenden Prozessen, deren reale Benutzerkennung aufgelistet ist. Sie konnen entweder numerische oder symbolische Werte verwenden. -v, --inverse negiert die Anwendung der Suchkriterien. Diese Option wird ublicherweise mit pgrep oder pidwait verwendet. In pkill ist die Kurzoption deaktiviert, um die zufallige 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. --cgroup Name, sucht nach den v2-Namen der angegebenen Kontrollgruppen (cgroup). Siehe cgroups(7). --env Name[=Wert],... sucht nur nach Prozessen, die uber die angegebenen Umgebungsvariablen verfugen. Falls der Parameter =Wert nicht angegeben ist, wird nur nach dem Variablennamen gesucht. --ns Prozesskennung sucht nach passenden Prozessen, die zu den gleichen Namensraumen gehoren. Um Prozesse anderer Benutzer zu finden, sind Root-Rechte erforderlich. In --nslist finden Sie Informationen, wie Sie die Ubereinstimmungen im Zusammenhang mit Namensraumen begrenzen konnen. --nslist Name,... sucht nur in den angegebenen Namensraumen nach Ubereinstimmungen. Verfugbare Namensraume: ipc, mnt, net, pid, user, uts. --quiet schreibt nichts in die Standardausgabe (nur pgrep). -V, --version zeigt Versionsinformationen an und beendet das Programm. -h, --help zeigt eine Hilfe an und beendet das Programm. OPERANDEN Muster gibt einen erweiterten regularen Ausdruck fur die Ubereinstimmungen 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 bash-Prozessen ausgeben: $ ps -fp $(pgrep -d, -x bash) Beispiel 4: Den Nice-Wert fur alle chrome-Prozesse erhohen: $ renice +4 $(pgrep chrome) Beispiel 5: Auf das Beenden eines Prozesses mit einer bekannten PID warten: $ echo ${PID} | pidwait -F - EXIT-STATUS 0 Einer oder mehrere Prozesse entsprechen dem Kriterium. Fur 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 ausgeschopft usw. ANMERKUNGEN Der fur die Suche verwendete Prozessname ist auf die 15 Zeichen in der Ausgabe von /proc/Prozesskennung/stat beschrankt. Verwenden Sie die Option -f, um stattdessen Ubereinstimmungen in der gesamten Befehlszeile (/proc/Prozesskennung/cmdline) zu suchen. Threads konnten 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 eingehangt ist. pkill versucht, pidfd_send_signal(2) anstelle von kill(2) oder sigqueue(3) zu verwenden, um ein Signal an den Zielprozess zu senden, falls es den Prozessdateideskriptor abrufen kann. FEHLER Die Optionen -n, -o und -v konnen nicht kombiniert werden. Bitte informieren Sie die Entwickler, falls das fur Ihre Zwecke notig sein sollte. Wenn Prozesse im selben Taktzyklus starten (in der Regel, aber nicht immer, in einer Hundertstelsekunde), konnen die Optionen -n und -o nicht unterscheiden, welcher Prozess im selben Taktzyklus gestartet wurde, und liefern moglicherweise fehlerhafte Ergebnisse. Bereits beendete Prozesse werden gemeldet. pidwait erfordert den Systemaufruf pidfd_open(2), der zuerst in Linux 5.3 erschien. SIEHE AUCH killall(1), kill(1), ps(1), skill(1), kill(2), sigaction(2), pidfd_open(2), pidfd_send_signal(2), sigqueue(3), cgroups(7), regex(7), signal(7) FEHLER MELDEN Bitte schicken Sie Fehlermeldungen (auf Englisch) an . procps-ng 29. Dezember 2025 PGREP(1)