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