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, --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, -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 местоположение файловой системы proc
ИЗВЕСТНЫЕ ОШИБКИ
Завершение по файлу работает только для исполняемых файлов, которые остаются открытыми во время выполнения, то есть "нечистые" исполняемые файлы таким образом завершить нельзя.
Будьте осторожны, ввод killall name может не дать желаемого эффекта в не-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).