Scroll to navigation

PGREP(1) Polecenia użytkownika 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

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)
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.
Odczyt PIDów z pliku. Ta opcja jest bardziej przydatna dla programu pkill lub pidwait niż 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.
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.
Dopasowanie tylko do podanych przestrzeni nazw. Dostępne przestrzenie: ipc, mnt, net, pid, user, uts.
Użycie sigqueue(3) zamiast kill(2), a argument będący wartością określa liczbę całkowitą do wysłania wraz z sygnałem. Jeśli proces odbierający ma zainstalowaną procedurę obsługi dla tego sygnału przy użyciu flagi SA_SIGINFO wywołania sigaction(2), może następnie odebrać te dane w poli si_value struktury siginfo_t.
Wyświetlenie informacji o wersji i zakończenie.
Wyświetlenie opisu i zakończenie.

ARGUMENTY

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 i pidwait, musi udać się wysłać sygnał lub zaczekać na przynajmniej jeden proces.
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.

Opcja -O --older cicho się nie powiedzie, jeśli /proc jest zamontowany z opcją subset=pid.

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

ZGŁASZANIE BŁĘDÓW

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

2022-08-31 procps-ng