Provided by: procps_4.0.4-4ubuntu5_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 ⟨kjetilho@ifi.uio.no

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

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