Provided by: procps_4.0.4-8ubuntu2_amd64 bug

НАЗВА

       pgrep,  pkill, pidwait — пошук, надсилання сигналів процесам або очікування на завершення роботи процесів
       на основі даних щодо їхньої назви та інших атрибутів

КОРОТКИЙ ОПИС

       pgrep [параметри] взірець
       pkill [параметри] взірець
       pidwait [параметри] взірець

ОПИС

       pgrep виконує пошук серед поточних запущених процесів і виводить  список  ідентифікаторів  процесів,  які
       відповідають критерію вибору до stdout. Виконуватися мають усі критерії. Наприклад,

              $ pgrep -u root sshd

       покаже список процесів, які мають назву sshd і належать root. З іншого боку,

              $ pgrep -u root,daemon

       виведе список процесів, власником яких є root або daemon.

       pkill  надішле  вказаний  сигнал  (типово  SIGTERM) кожному процесу, замість виведення списку процесів до
       stdout.

       pidwait чекатиме на усі процеси замість виведення їхнього списку до stdout.

ПАРАМЕТРИ

       -сигнал
       --signal сигнал
              Визначає сигнал, який слід надіслати кожному відповідному  процесу.  Можна  скористатися  числовим
              значенням  або  символічною  назвою сигналу. У режимі pgrep або pidwait можна використовувати лише
              довгу версію параметра. У цьому режимі параметр не працює, якщо  не  використано  у  поєднанні  із
              --require-handler  для  фільтрування  процесів  із  наявним  обробником певного сигналу у просторі
              користувача.

       -c, --count
              Придушити звичайне виведення. Замість цього,  вивести  кількість  відповідних  процесів.  Якщо  не
              вдасться  знайти  нічого,  наприклад,  буде повернуто нульове значення, програма поверне ненульове
              значення помилки. Зауважте, що для pkill і pidwait кількість є кількістю відповідних  процесів,  а
              не  кількістю  процесів,  яким  було  успішно  надіслано  сигнал,  або  кількість процесів, на які
              очікувала програма.

       -d, --delimiter роздільник
              Встановлює рядок, що використовуватиметься для відокремлення ідентифікаторів процесів у  виведених
              даних (типовим роздільником є символ розриву рядка). (Лише pgrep.)

       -e, --echo
              Показати назву і PID процесів, роботу яких буде завершено (лише pkill).

       -f, --full
              Зазвичай,  відповідність  взірця  встановлюється  лише  для  назви  процесу.  Якщо використано -f,
              відповідність встановлюється за цілим рядком команди.

       -g, --pgroup група процесів,...
              Встановлювати відповідність  процесів  лише  для  вказаного  списку  ідентифікаторів  груп.  Група
              процесів 0 відповідає власній групі процесів pgrep, pkill або pidwait.

       -G, --group gid,...
              Встановлювати   відповідність   процесів   зі   списку   справжніх   ідентифікаторів  груп.  Можна
              використовувати цифрове або символічне значення ідентифікатора.

       -i, --ignore-case
              Виконувати пошук процесів без врахування регістру символів.

       -l, --list-name
              Вивести список назв процесів, а також ідентифікаторів процесів. (Лише pgrep.)

       -a, --list-full
              Вивести список рядків команд повністю, а також ідентифікаторів процесів. (Лише pgrep.)

       -n, --newest
              Вибрати лише найновіші (запущені якомога пізніше) відповідні процеси.

       -o, --oldest
              Вибрати лише найдавніші (запущені якомога раніше) відповідні процеси.

       -O, --older секунди
              Вибрати процеси, які є старішими за вказану кількість секунд.

       -P, --parent ppid,...
              Встановлювати відповідність лише тих процесів, які мають батьківські процеси зі вказаного списку.

       -s, --session sid,...
              Встановлювати відповідність лише тих  процесів,  які  мають  ідентифікатори  сеансів  процесів  зі
              вказаного  списку.  Ідентифікатор  0 відповідає ідентифікаторам сеансів самих програм pgrep, pkill
              або pidwait.

       -t, --terminal термінал,...
              Встановлювати відповідність лише процесів із  терміналом  керування  із  вказаного  списку.  Назву
              термінала слід вказувати без префікса «/dev/».

       -u, --euid euid,...
              Встановлювати  відповідність  процесів  зі  списку  ідентифікаторів ефективних користувачів. Можна
              використовувати цифрове або символічне значення ідентифікатора.

       -U, --uid uid,...
              Встановлювати відповідність процесів  зі  списку  справжніх  ідентифікаторів  користувачів.  Можна
              використовувати цифрове або символічне значення ідентифікатора.

       -v, --inverse
              Інвертує  відповідність.  Зазвичай, цей параметр використовується у контексті pgrep або pidwait. У
              контексті  pkill  скорочену  форму  параметра  вимкнено  для  того,  щоб   запобігти   випадковому
              використанню цього параметра.

       -w, --lightweight
              Показує  усіх  ідентифікатори  потоків  обробки,  замість  ідентифікаторів,  у контексті pgrep або
              pidwait. У контексті pkill цей параметр вимкнено.

       -x, --exact
              Встановлювати відповідність лише процесів, назви яких (або рядки команд, якщо вказано параметр -f)
              точно відповідає взірцю.

       -F, --pidfile файл
              Прочитати PID з файла. Ймовірно, цей параметр корисніший для pkill або pidwait, а не для pgrep.

       -L, --logpidfile
              Завершувати роботу повідомленням про помилку, якщо pid-файл (див. -F) не заблоковано.

       -r, --runstates D,R,S,Z,...
              Виконати пошук лише тих процесів, які відповідають вказаному значенню стану процесу.

       -A, --ignore-ancestors
              Ігнорувати усі попередники  pgrep,  pkill  та  pidwait.  Наприклад,  це  може  бути  корисним  при
              розширенні прав доступу за допомогою sudo або подібних інструментів.

       -H, --require-handler
              Встановлювати  відповідність  лише  тих  процесів,  які  мають  обробник  сигналу,  який  має бути
              надіслано, у просторі користувача.

       --cgroup назва,...
              Встановити відповідність наданій назві групи керування (cgroup) у версії 2. Див. cgroups(8)

       --ns pid
              Встановлювати відповідність процесів, які належать  до  одного  простору  назв.  Для  встановлення
              відповідності  для  процесів  інших  користувачів програму має бути запущено від імені користувача
              root. Див. довідку щодо --nslist, щоб дізнатися про те, як обмежити перелік відповідних  просторів
              назв.

       --nslist назва,...
              Встановлювати  відповідність  лише  для  вказаних просторів назв. Можливі простори назв: ipc, mnt,
              net, pid, user, uts.

       -q, --queue значення
              Скористайтеся kill(2) замість sigqueue(3), і аргумент значення, який використовується для  задання
              цілого  значення, буде надіслано разом із сигналом. Якщо у процесі, який його отримає, встановлено
              обробки сигналу, який використовує прапорець SA_SIGINFO sigaction(2),  процес  зможе  отримати  ці
              дані за допомогою поля si_value структури siginfo_t.

       -V, --version
              Вивести дані щодо версії і завершити роботу.

       -h, --help
              Показати довідкові дані і завершити роботу.

ОПЕРАНДИ

       взірець
              Вказує розширений формальний вираз для відповідності за назвами процесів або рядками команд.

ПРИКЛАДИ

       Приклад 1: знайти ідентифікатор процесу фонової служби named:

              $ pgrep -u root named

       Приклад 2: змусити syslog виконати повторне читання файла налаштувань:

              $ pkill -HUP syslogd

       Приклад 3: надати докладну інформацію щодо усіх процесів xterm:

              $ ps -fp $(pgrep -d, -x xterm)

       Приклад 4: підвищити пріоритетність усіх процесів chrome:

              $ renice +4 $(pgrep chrome)

СТАН ВИХОДУ

       0      Вказаному  критерію відповідає один або декілька процесів. Для pkill і pidwait також має бути один
              або декілька процесів, яким успішно надіслано сигнал або які перебувають у стані очікування.
       1      Не знайдено жодного відповідного процесу або жодному зі знайдених процесів  не  вдалося  надіслати
              сигнал.
       2      Синтаксична помилка у рядку команди.
       3      Критична помилка: вичерпано пам’ять тощо.

ЗАУВАЖЕННЯ

       Назву  процесу,  що  використовується для встановлення відповідності, обмежено 15 символами, які виводить
       /proc/pid/stat.  Для  встановлення  відповідності   за   цілим   командним   рядком,   /proc/pid/cmdline,
       скористайтеся  параметром  -f. Потоки обробки можуть не мати такої самої назви процесу, що і батьківський
       процес, але матимуть той самий рядок команди.

       Запущений процес pgrep, pkill або pidwait ніколи не повідомлятиметься самим собою як відповідник.

       Використання параметра -O --older буде без повідомлень не враховано, якщо /proc змонтовано  з  параметром
       subset=pid.

ВАДИ

       Не можна одночасно використовувати параметри -n, -o та -v одночасно. Повідомте авторам, якщо вам потрібне
       таке поєднання.

       Програма повідомляє про щезлі процеси.

       pidwait потребує системного виклику pidfd_open(2), який вперше з'явився у Linux 5.3.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

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

АВТОР

       Kjetil Torgrim Homme

Як надіслати звіт про вади

       Про вади, будь ласка, повідомляйте на адресу procps@freelists.org

procps-ng                                      16 січня 2023 року                                       PGREP(1)