PGREP(1) General Commands Manual PGREP(1) NAZWA pgrep, pkill, pidwait - wyszukiwanie, wysylanie sygnalow lub oczekiwanie na procesy na podstawie nazwy i innych atrybutow SKLADNIA pgrep [option ...] pattern pkill [option ...] pattern pidwait [option ...] pattern OPIS pgrep przeszukuje aktualnie dzialajace procesy i wypisuje na standardowym wyjsciu identyfikatory procesow, ktore pasuja do wybranych kryteriow. Wszystkie kryteria musza pasowac. Na przyklad: $ 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, ktorych wlascicielem jest root LUB daemon. pkill zamiast wypisywania procesow wysle do kazdego podany sygnal (domyslnie SIGTERM). pidwait zamiast wypisywania procesow oczekuje na nie. OPCJE -sygnal --signal sygnal Okreslenie sygnalu do wyslania do kazdego pasujacego procesu. Mozna uzyc nazwy liczbowej lub symbolicznej. W trybie pgrep lub pidwait mozna uzyc tylko dlugiej opcji i nie ma to efektu poza przypadkiej uzycia w polaczeniu z --require-handler do filtrowania procesow z obecna procedura obslugi konkretnego sygnalu w przestrzeni uzytkownika. -c, --count Pominiecie zwyklego wyjscia; zamiast niego wypisanie liczby pasujacych procesow. Jesli nic nie zostanie policzone (np. liczba bedzie zerem), polecenie zwroci wartosc niezerowa. Uwaga: w przypadku pkill i pidwait zwracana wartosc to liczba pasujacych procesow, a nie procesow, do ktorych udalo sie dostarczyc sygnal lub zaczekac na zakonczenie. -d, --delimiter separator Ustawienie lancucha oddzielajacego identyfikatory procesow na wyjsciu (domyslnie nowa linia). (tylko pgrep) -e, --echo Wyswietlanie nazw oraz identyfikatorow zabijanych procesow (tylko pkill). -f, --full wzorzec normalnie jest dopasowywany tylko do nazwy procesu. Z ustawiona opcja -f, wykorzystywana jest cala linia polecen. -g, --pgroup pgrp,... Dopasowanie tylko do procesow z grup o podanych identyfikatorach. Grupa procesow 0 jest tlumaczona na wlasna grupe procesow polecenia pgrep, pkill lub pidwait. -G, --group gid,... Dopasowanie tylko do procesow o podanych identyfikatorach grup rzeczywistych. Mozna uzyc wartosci liczbowych lub symbolicznych. -e, --ignore-case Dopasowywanie procesow bez rozrozniania wielkosci liter. -l, --list-name Wypisanie nazw oraz identyfikatorow procesow. (tylko pgrep) -a, --list-full Wypisanie pelnych linii polecen oraz identyfikatorow procesow. (tylko pgrep) -n, --newest Wybor tylko najnowszych (najpozniej uruchomionych) sposrod pasujacych procesow. -o, --oldest Wybor tylko najstarszych (najwczesniej uruchomionych) sposrod pasujacych procesow. -O, --older sekundy Wybor procesow starszych niz podana liczba sekund. -P, --parent ppid,... Dopasowanie tylko do procesow o wymienionych identyfikatorach procesow rodzicow. -s, --session sid,... Dopasowanie tylko do procesow o wymienionych identyfikatorach sesji procesow. Identyfikator sesji 0 jest tlumaczony na wlasny procesu pgrep, pkill lub pidwait. -t, --terminal term,... Dopasowanie tylko do procesow o wymienionych terminalach sterujacych. Nazwa terminala powinna byc podana bez przedrostka "/dev/". -u, --euid euid,... Dopasowanie tylko do procesow o wymienionych identyfikatorach uzytkownikow efektywnych. Mozna uzyc wartosci liczbowych lub symbolicznych. -U, --uid uid,... Dopasowanie tylko do procesow o wymienionych identyfikatorach uzytkownikow rzeczywistych. Mozna uzyc wartosci liczbowych lub symbolicznych. -v, --inverse Negacja dopasowania. Zwykle uzywana w kontekscie programu pgrep lub pidwait. W kontekscie pkill krotka opcja jest wylaczona, aby zapobiec przypadkowemu uzyciu. -w, --lightweight Wyswietlenie wszystkich identyfikatorow watkow zamiast pidow w kontekscie programu pgrep lub pidwait. W kontekscie pkill ta opcja jest wylaczona. -x, --exact Dopasowanie tylko do procesow, ktorych nazwy (lub linie polecen, jesli podano opcje -f) pasuja dokladnie do wzorca. -F, --pidfile plik Read PIDs from file. This option is more useful for pkill or pidwait than pgrep. The filename "-" can be used to read from STDIN. -L, --logpidfile Niepowodzenie, jesli plik PID (p. opcja -F) nie jest zablokowany. -r, --runstates D,R,S,Z,... Dopasowanie tylko do procesow o pasujacym stanie. -e, --ignore-ancestors Ignorowanie wszystkich przodkow pgrep, pkill i pidwait. Moze to byc przydatne np. przy podnoszeniu uprawnien przez sudo lub podobne narzedzia. -H, --require-handler Dopasowanie tylko procesow z obecna w przestrzeni uzytkownika procedura obslugi sygnalu do wyslania. --cgroup name,... Dopasowanie po przekazanej nazwie grupy kontrolnej (cgroup) v2. P. cgroups(8) --env name[=value],... Match on process that have these environment variables. If the =value parameter is not defined then only the variable name is matched. --ns pid Dopasowanie do procesow nalezacych do tych samych przestrzeni nazw. Wymagane w przypadku uruchamiania przez roota, aby dopasowac do procesow innych uzytkownikow. Wiecej o ograniczaniu dopasowywanych przestrzeni nazw przy opcji --nslist. --nslist name,... Dopasowanie tylko do podanych przestrzeni nazw. Dostepne przestrzenie: ipc, mnt, net, pid, user, uts. -q, --queue wartosc Uzycie sigqueue(3) zamiast kill(2), a argument bedacy wartoscia okresla liczbe calkowita do wyslania wraz z sygnalem. Jesli proces odbierajacy ma zainstalowana procedure obslugi dla tego sygnalu przy uzyciu flagi SA_SIGINFO wywolania sigaction(2), moze nastepnie odebrac te dane w polu si_value struktury siginfo_t. -V, --version Wyswietlenie informacji o wersji i zakonczenie. -h, --help Wyswietlenie opisu i zakonczenie. ARGUMENTY wzorzec Okreslenie rozszerzonego wyrazenia regularnego do dopasowania nazwy procesu lub linii polecen. PRZYKLADY Przyklad 1: znalezienie identyfikatora procesu demona named: $ pgrep -u root named Przyklad 2: wymuszenie ponownego odczytu pliku konfiguracyjnego przez program syslog: $ pkill -HUP syslogd Przyklad 3: podanie szczegolowych informacji o wszystkich procesach xterm: $ ps -fp $(pgrep -d, -x xterm) Przyklad 4: zwiekszenie nice wszystkich procesow chrome: $ renice +4 $(pgrep chrome) Example 5: Wait for a process with a known PID to finish: $ echo ${PID} | pidwait -F - KOD WYJSCIA 0 Jeden lub wiecej procesow pasowalo do warunkow. W przypadku pkill i pidwait, musi udac sie wyslac sygnal lub zaczekac na przynajmniej jeden proces. 1 Brak procesow pasujacych do warunkow lub do zadnego nie udalo sie wyslac sygnalu. 2 Blad skladni w linii polecen. 3 Blad krytyczny: brak pamieci itp. UWAGI Nazwa procesu uzywana przy dopasowaniu jest ograniczona do 15 znakow obecnych w wyjsciu /proc/pid/stat. Aby dopasowac do pelnej linii polecen (/proc/pid/cmdline), nalezy uzyc opcji -f. Watki moga nie miec tej samej nazwy procesu jako rodzica, ale beda mialy te sama linie polecen. Dzialajacy proces pgrep, pkill ani pidwait nigdy nie zglosi siebie jako dopasowania. Opcja -O --older cicho sie nie powiedzie, jesli /proc jest zamontowany z opcja subset=pid. BLEDY Opcji -n, -o oraz -v nie mozna laczyc. Gdyby bylo to przydatne, prosze zawiadomic autora. Zgloszono procesy nie funkcjonujace. pidwait wymaga wywolania systemowego pidfd_open(2), ktore pojawilo sie w Linuksie 5.3. ZOBACZ TAKZE ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8). AUTOR Kjetil Torgrim Homme ZGLASZANIE BLEDOW Please send bug reports to . procps-ng 2024-02-05 PGREP(1)