Provided by: procps_4.0.3-1ubuntu1.23.10.1_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