KILLALL(1)

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

КОРОТКИЙ ОПИС
killall [-Z, --context взірець] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns PID] [-o, --older-than ЧАС] [-q, --quiet] [-r, --regexp] [-s, --signal СИГНАЛ, -СИГНАЛ] [-u, --user користувач] [-v, --verbose] [-w, --wait] [-y, --younger-than ЧАС] [-I, --ignore-case] [-V, --version] [--] name ...
killall -l, --list
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, -СИГНАЛ
    Надіслати вказаний сигнал, замість SIGTERM.

-u, --user
    Завершити роботу усіх процесів, власником яких є вказаний користувач. Назви команд при цьому є необов'язковими.

-v, --verbose
    Надіслати звіт щодо того, чи було надсилання сигналу успішним.

-V, --version
    Показати інформацію щодо версії.

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

-y, --younger-than
    Обробляти лише процеси, які є новішими вказаного моменту часу (тобто ті процеси, які запущено після вказаного моменту часу). Час має бути вказано у форматі дійсного числа з рухомою крапкою із визначенням одиниці виміру. Одиницями є s, m, h, d, w, M, y, тобто секунди, хвилини, години, дні, тижні, місяці та роки, відповідно.

-Z, --context
    Визначити контекст безпеки: завершити роботу лише процесів, які мають контекст безпеки, який визначається розширеним формальним виразом-взірцем. Цей параметр має передувати іншим параметрам у командному рядку. Назви команд є необов'язковими.

ФАЙЛИ

/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).