Уничтожение или изменение процесса по имени или идентификатору
slay [опции]... имя_процесса|идентификатор_процесса ...
- -номер_сигнала
- Номер сигнала, определяющий сигнал для передачи процессам с соответствующим именем_процесса или идентификатором_процесса.
- -C номер_ЦП
- Установить привязку ЦП в соответствии со значением аргумента номер_ЦП, где первый ЦП имеет номер
0
. Эта опция может быть использована многократно. Для получения дополнительной информации см. раздел "Установка маски запуска" далее.
- -f
- Принудительно выполнить действие для всех процессов с одинаковым именем_процесса или идентификатором. Как правило, если указанное имя или идентификатор относятся к нескольким процессам, утилита slay запрашивает подтверждение.
- -h
- Передать сигнал
SIGSTOP
процессу с немедленной остановкой его выполнения.
- -i
- При использовании с опцией -C или -R устанавливет помимо маски запуска маску наследования. Для получения дополнительной информации см. раздел "Установка маски запуска" далее.
- -m name|pid
- Ограничить сопоставление только именем или только идентификатором процесса. По умолчанию slay выполняет сопоставление как по имени, так и по идентификатору процесса. Примеры:
По команде | Сопоставление с процессом: |
---|
slay 1234 | По идентификатору 1234 или имени 1234 |
slay -m pid 1234 | По идентификатору 1234 |
slay -m name 1234 | По имени 1234 |
- -n имя_узла
- Выполнить поиск указанных процессов на определенном удаленном узле имя_узла.
- -P приоритет[f|r|o]
- Установить приоритет процессов с указанным именем_процесса в соответствии со значением аргумента приоритет. Пользователи, не имеющие полномочий
root
, могут установить максимальный приоритет 63
. Пользователь root
может задавать приоритеты вплоть до 255
. Для изменения диапазона привилегированных приоритетов используется опция -P procnto.
После значения приоритета может следовать опция f, r или o для изменения политики диспетчеризации на SCHED_FIFO
, SCHED_RR
или SCHED_OTHER
соответственно.
 | В настоящее время SCHED_OTHER соответствует SCHED_RR . |
Если опция -P определена без опции -T, утилита slay устанавливает приоритет для всех потоков в указанном процессе или процессах.
- -p
- Вывести в стандартном потоке вывода идентификаторы процессов в виде десятичных чисел (один идентификатор процесса в каждой строке). Процессы не уничтожаются.
- -q
- Запрашивать подтверждение перед взаимодействием с процессом, даже если найден только один процесс с соответствующим именем или идентификатором (переопределяет опцию -f). Эта опция используется для просмотра другой информации о процессах, которую предоставляет утилита slay.
- -Q
- Уменьшить подробность отображения информации. Эту опцию рекомендуется использовать при вызове slay из программы на языке C.
- -R процессорная_маска
- Установить привязку ЦП к процессорной_маске. Эту опцию можно использовать многократно для установки масок, длина которых превышает 32 бита. Для получения дополнительной информации см. раздел "Установка маски запуска" далее.
- -S
- Не уничтожать процессы, для которых имеются дочерние процессы. Как правило, эта опция используется в командах интерпретатора, выполняющих завершение работы командных интерпретаторов на других устройствах. При установке этой опции утилита slay не уничтожает командные интерпретаторы, с запущенными процессами (например, редакторами). Если при этом используется опция -q, утилита slay запрашивает подтверждение принудительного уничтожения даже в том случае, если для указанных процессов имеются дочерние процессы.
- -s имя_сигнала
- Сигнал, который требуется передать. При установке этой опции сигнал sig инициируется для процессов с соответствующим именем_процесса или идентификатором.
- -T идентификатор_потока
- Применить действие к потоку с данным идентификатором. С помощью этой опции можно направить сигнал в конкретный поток или изменить приоритет потока или процессорной маски.
- -t имя_tty
- Выполнять сопоставление только тех процессов, имя (или идентификатор) которых соответствует значению аргумента имя_процесса (идентификатор_процесса) с управляющим терминалом имя_tty. Если имя_tty начинает не с символа (
/
), утилита slay предполагает, что оно начинается с префикса /dev/
.
- -u
- Передать сигнал
SIGCONT
процессу. Если выполнение процесса было остановлено сигналом SIGSTOP
, выполнение возобновляется с момента, в который оно было остановлено. Если сигнал SIGSTOP
не был послан процессу, сигнал SIGCONT
влияния не оказывает.
- -v
- Вывести расширенную информацию; показать сообщения о процессах, которым были переданы сигналы.
- имя_процесса
- Имя соответствующего процесса.
- идентификатор_процесса
- Идентификатор соответствующего процесса.
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита slay используется для уничтожения или изменения процесса по имени или идентификатору. Имена процессов указываются без пути. Например, требуется уничтожить процесс с именем /bin/sleep
. Для поиска и уничтожения процесса с помощью утилиты slay достаточно ввести в качестве имени процесса sleep.
Существует несколько форматов этой команды. Далее показан наиболее простой и распространенный формат:
slay имя_процесса|идентификатор_процесса
Эта команда выполняет поиск процесса с указанным именем или идентификатором. Если найден только один процесс, ему передается сигнал SIGTERM
. Если указанное имя или идентификатор относится к нескольким процессам, команда запрашивает подтверждение с просьбой ответить "да/нет" для каждого процесса. Если в такой форме представлены все процессы, в целях упрощения выбора также отображается имя процесса, идентификатор_процесса и номера группы/члена терминального устройства ввода-вывода.
 | Послать сигнал процессу может лишь владелец процесса или пользователь с полномочиями root . |
Установка маски выполнения
В многоядерной системе можно использовать процессорную маску для определения процессора, на котором будет выполняться поток или процесс. Значение по умолчанию – "все 1" (т.е. все ЦП).
 | Процессорную маску целесообразно использовать только на многопроцессорных системах. |
Утилита slay используется для изменения процессорной маски, либо процессорной маски и маски наследования для уже выполняющихся потоков; для установки масок в новом процессе используется команда on. Обе команды одинаково интерпретируют опции -C и -R.
Для установки процессорной маски длиной более 32 битов можно использовать несколько опций -R. Первая опция -R задает биты от 0 до 31, вторая – от 32 до 63 и т.д.
Если опции -C и -R используются совместно или указываются в нескольких экземплярах, то полученная маска является результатом побитовой операции ИЛИ для всех опций -C и -R. Например, slay -R 0x1 является эквивалентом slay -C 0, а slay -R 0x1 -C 3 – эквивалентом slay -C 0 -C 3.
Использование опции -R или -C без -T влияет на все потоки в указанном процессе или процессах.
При использовании опции -R или -C утилита slay изменяет процессорную маску для указанных потоков или процессов. Если также определена опция -i, утилита slay устанавливает для маски наследования и для процессорной маски одинаковые значения.
 | - Если полученная процессорная маска определяет по крайней мере один физически имеющийся ЦП, эта процессорная маска принимается, а все биты, соответствующие физически отсутствующим ЦП, игнорируются. Если полученная процессорная маска не определяет физически имеющихся ЦП, возникает ошибка.
- При изменении процессорной маски для процесса подмножество используемых процессоров блокированных потоков изменяется только после разблокирования потоков (либо вообще не изменяется, если потоки остаются блокированными).
|
Для получения дополнительной информации о процессорных масках см. главу «Многопроцессорная обработка» документа «Описание применения. Часть 1. Системная архитектура» КПДА.10964-01 и главу «Разработка многоядерных систем» документа «Руководство системного программиста (администратора)» КПДА.10964-01.
Уничтожить процесс spooler в узле peterv:
slay -n peterv spooler
От имени пользователя root
изменить приоритет процесса my_test на 20:
slay -P 20 my_test
- 0
- Процессы, соответствующие указанным критериям, отсутствуют, возникла ошибка, либо число сопоставленных и обработанных процессов является целым кратным 256.
- 1-128
- Число сопоставленных и обработанных процессов представлено в виде остатка от деления на 256 (например, статус 1 может означать 1 процесс, 257 процессов, 513 процессов и т. д.)
- 129-160
- Если статус завершения был определен путем прямого порождения, он соответствует числу сопоставленных и обработанных процессов и представлен в виде остатка от деления на 256. Если утилита slay была запущена через командный интерпретатор, статус соответствует числу сопоставленных и обработанных процессов или указывает причину завершения работы slay в результате получения сигнала (для определения номера сигнала необходимо вычесть 128 из числа, обозначающего статус завершения).
- 161-255
- Число сопоставленных и обработанных процессов представлено в виде остатка от деления на 256.
Статус завершения утилиты slay в силу исторических причин не является стандартным. Настоятельно не рекомендуется использовать утилиту slay в любых ситуациях, когда требуется знать точный статус завершения, поскольку при некоторых обстоятельствах возможны разные трактовки статуса.
Базовые подсистемы ЗОСРВ «Нейтрино»
kill, on, pidin, ps
Предыдущий раздел: Утилиты