Scroll to navigation

PGREP(1) General Commands Manual 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 [option ...] pattern

pkill [option ...] pattern

pidwait [option ...] pattern

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

will only list the processes whose name include sshd AND owned by root. On the other hand,

$ 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 do wysłania do każdego pasującego procesu. Można użyć nazwy liczbowej lub symbolicznej. W trybie pgrep lub pidwait można użyć tylko długiej opcji i nie ma to efektu poza przypadkiej użycia w połączeniu z --require-handler do filtrowania procesów z obecną procedurą obsługi konkretnego sygnału w przestrzeni użytkownika.
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. The filename "-" can be used to read from STDIN.
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 tylko procesów z obecną w przestrzeni użytkownika procedurą obsługi sygnału do wysłania.
Dopasowanie po przekazanej nazwie grupy kontrolnej (cgroup) v2. P. cgroups(8)
Match on process that have these environment variables. If the =value parameter is not defined then only the variable name is matched.
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 polu 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)

Example 5: Wait for a process with a known PID to finish:

$ echo ${PID} | pidwait -F -

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

Please send bug reports to procps@freelists.org.

2024-02-05 procps-ng