PGREP(1)

NAZWA
pgrep, pkill - wyszukiwanie lub wysyłanie sygnałów do procesów na podstawie nazwy i innych atrybutów

SKŁADNIA
pgrep [opcje] wzorzec
pkill [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).

OPCJE

-sygnał
--signal sygnał
    Określenie sygnału, jaki ma być wysłany do wszystkich pasujących procesów. Może być numerem lub nazwą sygnału. (tylko pkill)

-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ą.

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

-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 lub pkill.

-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.

-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 lub pkill.

-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. 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. 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
    Odczyt PIDów z pliku. Ta opcja jest zwykle bardziej przydatna dla programu pkill niż 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.

--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,...
    Dopasowanie tylko do podanych przestrzeni nazw. Dostępne przestrzenie: ipc, mnt, net, pid, user, uts.

-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   Jeden lub więcej procesów pasowało do warunków. W przypadku pkill udało się także wysłać procesowi sygnał.
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.

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

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.

ZOBACZ TAKŻE
ps(1), regex(7), signal(7), killall(1), skill(1), kill(1), kill(2)

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