PGREP(1) Polecenia użytkownika PGREP(1)

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

pgrep [opcje] wzorzec
pkill [opcje] wzorzec
pidwait [opcje] wzorzec

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.

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.
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.
Ustawienie łańcucha oddzielającego identyfikatory procesów na wyjściu (domyślnie nowa linia). (tylko pgrep)
Wyświetlanie nazw oraz identyfikatorów zabijanych procesów (tylko pkill).
wzorzec normalnie jest dopasowywany tylko do nazwy procesu. Z ustawioną opcją -f, wykorzystywana jest cała linia poleceń.
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.
Dopasowanie tylko do procesów o podanych identyfikatorach grup rzeczywistych. Można użyć wartości liczbowych lub symbolicznych.
Dopasowywanie procesów bez rozróżniania wielkości liter.
Wypisanie nazw oraz identyfikatorów procesów. (tylko pgrep)
Wypisanie pełnych linii poleceń oraz identyfikatorów procesów. (tylko pgrep)
Wybór tylko najnowszych (najpóźniej uruchomionych) spośród pasujących procesów.
Wybór tylko najstarszych (najwcześniej uruchomionych) spośród pasujących procesów.
Wybór procesów starszych niż podana liczba sekund.
Dopasowanie tylko do procesów o wymienionych identyfikatorach procesów rodziców.
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.
Dopasowanie tylko do procesów o wymienionych terminalach sterujących. Nazwa terminala powinna być podana bez przedrostka "/dev/".
Dopasowanie tylko do procesów o wymienionych identyfikatorach użytkowników efektywnych. Można użyć wartości liczbowych lub symbolicznych.
Dopasowanie tylko do procesów o wymienionych identyfikatorach użytkowników rzeczywistych. Można użyć wartości liczbowych lub symbolicznych.
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.
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.
Dopasowanie tylko do procesów, których nazwy (lub linie poleceń, jeśli podano opcję -f) pasują dokładnie do wzorca.
Read PIDs from file. This option is more useful for pkill or pidwait than pgrep.
Niepowodzenie, jeśli plik PID (p. opcja -F) nie jest zablokowany.
Dopasowanie tylko do procesów o pasującym stanie.
Ignorowanie wszystkich przodków pgrep, pkill i pidwait. Może to być przydatne np. przy podnoszeniu uprawnień przez sudo lub podobne narzędzia.
Only match processes with a userspace signal handler present for the signal to be sent.
Dopasowanie po przekazanej nazwie grupy kontrolnej (cgroup) v2. P. cgroups(8)
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.
Match only the provided namespaces. Available namespaces: ipc, mnt, net, pid, user, uts.
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.
Wyświetlenie informacji o wersji i zakończenie.
Wyświetlenie opisu i zakończenie.

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

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)

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.

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.

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.

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

Kjetil Torgrim Homme

Zgłoszenia błędów prosimy wysyłać na adres procps@freelists.org

2023-01-16 procps-ng