PGREP(1)

NAZWA
pgrep, pkill, pidwait - wyszukiwanie, wysyłanie sygnałów lub oczekiwanie na procesy na podstawie nazwy i innych atrybutów

SKŁADNIA
pgrep [opcje] wzorzec
pkill [opcje] wzorzec
pidwait [opcje] wzorzec

OPIS
pgrep przeszukuje aktualnie działające procesy i wypisuje na standardowym wyjściu identyfikatory procesów, które pasują do wybranych kryteriów. Wszystkie kryteria muszą pasować. Na przykład:

    $ pgrep -u root sshd

wypisze tylko listę procesów o nazwie sshd ORAZ będących własnością roota. Z drugiej strony:

    $ pgrep -u root,daemon

wypisze procesy, których właścicielem jest root LUB daemon.

pkill zamiast wypisywania procesów wyśle do każdego podany sygnał (domyślnie SIGTERM).

pidwait zamiast wypisywania procesów oczekuje na nie.

OPCJE

-sygnał
--signal sygnał
    Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used. In pgrep or pidwait mode only the long option can be used and has no effect unless used in conjunction with --require-handler to filter to processes with a userspace signal handler present for a particular signal.

-c, --count
    Pominięcie zwykłego wyjścia; zamiast niego wypisanie liczby pasujących procesów. Jeśli nic nie zostanie policzone (np. liczba będzie zerem), polecenie zwróci wartość niezerową. Uwaga: w przypadku pkill i pidwait zwracana wartość to liczba pasujących procesów, a nie procesów, do których udało się dostarczyć sygnał lub zaczekać na zakończenie.

-d, --delimiter separator
    Ustawienie łańcucha oddzielającego identyfikatory procesów na wyjściu (domyślnie nowa linia). (tylko pgrep)

-e, --echo
    Wyświetlanie nazw oraz identyfikatorów zabijanych procesów (tylko pkill).

-f, --full
    wzorzec normalnie jest dopasowywany tylko do nazwy procesu. Z ustawioną opcją -f, wykorzystywana jest cała linia poleceń.

-g, --pgroup pgrp,...
    Dopasowanie tylko do procesów z grup o podanych identyfikatorach. Grupa procesów 0 jest tłumaczona na własną grupę procesów polecenia pgrep, pkill lub pidwait.

-G, --group gid,...
    Dopasowanie tylko do procesów o podanych identyfikatorach grup rzeczywistych. Można użyć wartości liczbowych lub symbolicznych.

-e, --ignore-case
    Dopasowywanie procesów bez rozróżniania wielkości liter.

-l, --list-name
    Wypisanie nazw oraz identyfikatorów procesów. (tylko pgrep)

-a, --list-full
    Wypisanie pełnych linii poleceń oraz identyfikatorów procesów. (tylko pgrep)

-n, --newest
    Wybór tylko najnowszych (najpóźniej uruchomionych) spośród pasujących procesów.

-o, --oldest
    Wybór tylko najstarszych (najwcześniej uruchomionych) spośród pasujących procesów.

-O, --older sekundy
    Wybór procesów starszych niż podana liczba sekund.

-P, --parent ppid,...
    Dopasowanie tylko do procesów o wymienionych identyfikatorach procesów rodziców.

-s, --session sid,...
    Dopasowanie tylko do procesów o wymienionych identyfikatorach sesji procesów. Identyfikator sesji 0 jest tłumaczony na własny procesu pgrep, pkill lub pidwait.

-t, --terminal term,...
    Dopasowanie tylko do procesów o wymienionych terminalach sterujących. Nazwa terminala powinna być podana bez przedrostka "/dev/".

-u, --euid euid,...
    Dopasowanie tylko do procesów o wymienionych identyfikatorach użytkowników efektywnych. Można użyć wartości liczbowych lub symbolicznych.

-U, --uid uid,...
    Dopasowanie tylko do procesów o wymienionych identyfikatorach użytkowników rzeczywistych. Można użyć wartości liczbowych lub symbolicznych.

-v, --inverse
    Negacja dopasowania. Zwykle używana w kontekście programu pgrep lub pidwait. W kontekście pkill krótka opcja jest wyłączona, aby zapobiec przypadkowemu użyciu.

-w, --lightweight
    Wyświetlenie wszystkich identyfikatorów wątków zamiast pidów w kontekście programu pgrep lub pidwait. W kontekście pkill ta opcja jest wyłączona.

-x, --exact
    Dopasowanie tylko do procesów, których nazwy (lub linie poleceń, jeśli podano opcję -f) pasują dokładnie do wzorca.

-F, --pidfile plik
    Read PIDs from file. This option is more useful for pkill or pidwait than pgrep.

-L, --logpidfile
    Niepowodzenie, jeśli plik PID (p. opcja -F) nie jest zablokowany.

-r, --runstates D,R,S,Z,...
    Dopasowanie tylko do procesów o pasującym stanie.

-e, --ignore-ancestors
    Ignorowanie wszystkich przodków pgrep, pkill i pidwait. Może to być przydatne np. przy podnoszeniu uprawnień przez sudo lub podobne narzędzia.

-H, --require-handler
    Only match processes with a userspace signal handler present for the signal to be sent.

--cgroup nazwa,...
    Dopasowanie po przekazanej nazwie grupy kontrolnej (cgroup) v2. P. cgroups(8)

--ns pid
    Dopasowanie do procesów należących do tych samych przestrzeni nazw. Wymagane w przypadku uruchamiania przez roota, aby dopasować do procesów innych użytkowników. Więcej o ograniczaniu dopasowywanych przestrzeni nazw przy opcji --nslist.

--nslist nazwa,...
    Match only the provided namespaces. Available namespaces: ipc, mnt, net, pid, user, uts.

-q, --queue wartość
    Use sigqueue(3) rather than kill(2) and the value argument is used to specify an integer to be sent with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_value field of the siginfo_t structure.

-V, --version
    Wyświetlenie informacji o wersji i zakończenie.

-h, --help
    Wyświetlenie opisu i zakończenie.

ARGUMENTY

wzorzec
    Określenie rozszerzonego wyrażenia regularnego do dopasowania nazwy procesu lub linii poleceń.

PRZYKŁADY
Przykład 1: znalezienie identyfikatora procesu demona named:

    $ pgrep -u root named

Przykład 2: wymuszenie ponownego odczytu pliku konfiguracyjnego przez program syslog:

    $ pkill -HUP syslogd

Przykład 3: podanie szczegółowych informacji o wszystkich procesach xterm:

    $ ps -fp $(pgrep -d, -x xterm)

Przykład 4: zwiększenie nice wszystkich procesów chrome:

    $ renice +4 $(pgrep chrome)

KOD WYJŚCIA
0   One or more processes matched the criteria. For pkill and pidwait, one or more processes must also have been successfully signalled or waited for.
1   Brak procesów pasujących do warunków lub do żadnego nie udało się wysłać sygnału.
2   Błąd składni w linii poleceń.
3   Błąd krytyczny: brak pamięci itp.

UWAGI
Nazwa procesu używana przy dopasowaniu jest ograniczona do 15 znaków obecnych w wyjściu /proc/pid/stat. Aby dopasować do pełnej linii poleceń (/proc/pid/cmdline), należy użyć opcji -f. Wątki mogą nie mieć tej samej nazwy procesu jako rodzica, ale będą miały tę samą linię poleceń.

Działający proces pgrep, pkill ani pidwait nigdy nie zgłosi siebie jako dopasowania.

The -O --older option will silently fail if /proc is mounted with the subset=pid option.

BŁĘDY
Opcji -n, -o oraz -v nie można łączyć. Gdyby było to przydatne, proszę zawiadomić autora.

Zgłoszono procesy nie funkcjonujące.

pidwait wymaga wywołania systemowego pidfd_open(2), które pojawiło się w Linuksie 5.3.

ZOBACZ TAKŻE
ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).

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

ZGŁASZANIE BŁĘDÓW
Zgłoszenia błędów prosimy wysyłać na adres procps@freelists.org