Provided by: procps_4.0.4-4ubuntu5_amd64
НАЗВА
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⟩