PGREP(1)

BEZEICHNUNG
pgrep, pkill - findet Prozesse oder sendet ein Signal auf Basis des Namens oder anderer Attribute

ÜBERSICHT
pgrep [Optionen] Muster
pkill [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.

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.

-d, --delimiter delimiter
    legt die in der Ausgabe als Trenner für die Prozesskennungen zu verwendende Zeichenkette fest. Vorgabe ist ein Zeilenumbruch (gilt nur für pgrep).

-f, --full
    Das Muster wird normalerweise nur auf den Prozessnamen angewendet. Wenn -f gesetzt ist, wird die vollständige Befehlszeile verwendet.

-g, --pgroup pgrp, …
    sucht nur nach passenden Prozessen, die in den Prozessgruppen-IDs aufgelistet sind. Die Prozessgruppe 0 wird in die eigene Prozessgruppe von pgrep oder pkill übersetzt.

-G, --group Gruppen-ID, …
    berücksichtigt nur Prozesse, deren reale Gruppen-ID aufgelistet ist. Hier kann entweder der numerische oder der symbolische Wert verwendet werden.

-l, --list-name
    listet sowohl den Prozessnamen als auch die Prozess-ID auf (nur für pgrep).

-a, --list-full
    listet sowohl die vollständige Befehlszeile als auch die Prozess-ID 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.

-P, --parent ppid, …
    sucht nur nach Prozessen, von denen die ID des übergeordneten Prozesses aufgelistet ist.

-s, --session Sitzungs-ID, …
    sucht nur nach passenden Prozessen, die in den Prozess-Sitzungs-ID aufgelistet ist. Die Sitzungs-ID 0 wird in die eigene Prozessgruppe von pgrep oder pkill ü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 euid, …
    sucht nur nach passenden Prozessen, deren effektive Benutzer-ID aufgelistet ist. Sie können entweder numerische oder symbolische Werte verwenden.

-U, --uid Benutzer-ID, …
    sucht nur nach passenden Prozessen, deren reale Benutzer-ID aufgelistet ist. Sie können entweder numerische oder symbolische Werte verwenden.

-v, --inverse
    negiert die Anwendung der Suchkriterien. Diese Option wird üblicherweise mit pgrep verwendet. In pkill ist die Kurzoption deaktiviert, um die zufällige Anwendung dieser Option zu vermeiden.

-w, --lightweight
    zeigt alle Thread-IDs anstelle der Prozess-IDs im Kontext von pgrep an. In pkill ist diese Option deaktiviert.

-x, --exact
    sucht nur nach Prozessen, deren Namen (oder Befehlszeilen, falls -f angegeben ist) exakt dem Muster entsprechen.

-F, --pidfile Datei
    liest die PIDs aus einer Datei. Diese Option ist eher für pkill als für pgrep sinnvoll.

-L, --logpidfile
    Fehlschlag, wenn die PID-Datei nicht gesperrt ist.

--ns PID
    sucht nach 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.

-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: Prozess-ID 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 netscape-Prozesse erhöhen:

    $ renice +4 $(pgrep netscape)

EXIT-STATUS
0   Ein oder mehrere Prozesse entsprechen den Suchkriterien.
1   Keine Prozesse gefunden.
2   Syntaxfehler in der Befehlszeile.
3   Schwerwiegender Fehler: Speicher ausgeschöpft usw.

ANMERKUNGEN
Der für die Suche verwendete Prozessname ist auf die 15 Zeichen in der Ausgabe von /proc/Prozess-ID/stat beschränkt. Verwenden Sie die Option -f, um stattdessen Übereinstimmungen in der gesamten Befehlszeile zu suchen, /proc/Prozess-ID/cmdline.

Die laufenden pgrep- oder pkill-Prozesse werden niemals selbst als Treffer gemeldet.

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.

SIEHE AUCH
ps(1), regex(7), signal(7), killall(1), skill(1), kill(1), kill(2)

STANDARDS
pkill und pgrep wurden zuerst in Sun Solaris 7 eingeführt. Diese Implementation ist vollständig kompatibel.

AUTOR
Kjetil Torgrim Homme (kjetilho@ifi.uio.no)

FEHLER BERICHTEN
Bitte senden Sie Fehlerberichte an procps@freelists.org