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
- -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
ZGŁASZANIE BŁĘDÓW
Zgłoszenia błędów prosimy wysyłać na adres procps@freelists.org
2023-01-16 | procps-ng |