НАЗВА
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).