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