KILLALL(1) Команди користувача KILLALL(1)

killall — програма для завершення роботи процесів за назвою

killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns PID] [-o, --older-than TIME] [-q, --quiet] [-r, --regexp] [-s, --signal SIGNAL-SIGNAL] [-u, --user user] [-v, --verbose] [-w, --wait] [-y, --younger-than TIME] [-I, --ignore-case] [-V, --version] [--] name ...
killall -l
killall -V, --version

killall надсилає сигнал усім процесам, які відповідають будь-якій з вказаних команд. Якщо не вказано назву сигналу, процесам буде надіслано сигнал SIGTERM.

Сигнали можна вказувати або за назвою (наприклад -HUP чи -SIGHUP), або за номером (наприклад -1), або за допомогою параметра -s.

Якщо назва команди не є формальним виразом (параметр -r) і містить похилу риску (/), для завершення роботи буде вибрано процеси, які виконують вказаний файл, незалежно від назви цих процесів.

killall повертає нульовий код, якщо було завершено роботу принаймні одного процесу для кожної з команд зі списку або у списку не було команд, а критеріям пошуку за -u і -Z відповідав принаймні один процес. У інших випадках killall повертає ненульове значення.

Процес killall ніколи не завершує свою роботу (але може завершити роботу інших процесів killall).

-e, --exact
Вимагати точної відповідності для дуже довгих назв. Якщо довжина назви команди перевищує 15 символів, повна назва може бути недоступною (тобто її буде обрізано). У цьому випадку killall завершить роботу усіх процесів, які відповідають першим 15 символам. Якщо вказано параметр -e, такі записи буде пропущено. killall виведе повідомлення для кожного пропущеного запису, якщо окрім -e вказано -v.
-I, --ignore-case
Встановлювати відповідність процесі без враховування регістру символів.
-g, --process-group
Завершити усі процеси у групі, до якої належить знайдений процес. Сигнал завершення роботи буде надіслано один раз для кожної з груп, навіть якщо буде виявлено декілька процесів, які належать до однієї групи.
-i, --interactive
Надсилати перед припиненням роботи запит в інтерактивному режимі.
-l, --list
Вивести список усіх відомих назв сигналів.
-n, --ns
Шукати у просторі назв PID вказаного PID. Типовою поведінкою є пошуку в усіх просторах назв.
-o, --older-than
Обробляти лише процеси, які є старішими вказаного моменту часу (тобто ті процеси, які запущено до вказаного моменту часу). Час має бути вказано у форматі дійсного числа з рухомою крапкою із визначенням одиниці виміру. Одиницями є s, m, h, d, w, M, y, тобто секунди, хвилини, години, дні, тижні, місяці та роки, відповідно.
-q, --quiet
Не скаржитися, якщо не завершено роботу жодного процесу.
-r, --regexp
Вважати взірець назви процесу розширеним формальним виразом POSIX, відповідно до синтаксису regex(3).
-s, --signal, -SIGNAL
Надіслати вказаний сигнал, замість SIGTERM.
-u, --user
Завершити роботу усіх процесів, власником яких є вказаний користувач. Назви команд при цьому є необов'язковими.
-v, --verbose
Надіслати звіт щодо того, чи було надсилання сигналу успішним.
-V, --version
Показати інформацію щодо версії.
-w, --wait
Зачекати на завершення роботи усіх процесів. killall раз на секунду перевіряє, чи працює якийсь із процесів, роботу яких має бути завершено, і повертає керування, лише коли у списку не лишиться жодного процесу. Зауважте, що killall може чекати дуже довго, якщо сигнал було проігноровано, він не спрацював, або якщо процес продовжує працювати у стані зомбі.
-y, --younger-than
Обробляти лише процеси, які є новішими вказаного моменту часу (тобто ті процеси, які запущено після вказаного моменту часу). Час має бути вказано у форматі дійсного числа з рухомою крапкою із визначенням одиниці виміру. Одиницями є s, m, h, d, w, M, y, тобто секунди, хвилини, години, дні, тижні, місяці та роки, відповідно.
-Z, --context
Specify security context: kill only processes having security context that match with given extended regular expression pattern. Must precede other arguments on the command line. Command names are optional.

/proc
розташування файлової системи процесів

Завершення роботи за файлом працює лише для виконуваних файлів, які підтримують відкритість файлів під час виконання. Інакше кажучи, роботу нечистих виконуваних файлів не можна завершити у цей спосіб.

Зауважте, що команда killall назва може не спрацювати у бажаний спосіб у системах, відмінних від Linux, особливо, якщо її запущено від імені привілейованого користувача.

killall -w не визначає, чи зник процес і чи не замінено його новим процесом і тим самим PID між сеансами сканування.

Якщо процеси змінюють назву, killall не зможе належним чином встановити їхню відповідність.

У killall передбачено обмеження розміру назв, які може бути вказано у рядку команди. Розмір визначається розміром «довгого» цілого числа без знаку, помноженим на 8. Для більшості 32-бітових систем розмір обмежено 32 символами, а для більшості 64-бітових — 64 символами.

kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).
2021-01-11 psmisc