Команда killall5

Команда killall5 позволяет использовать утилиту System V с соответствующим именем для отправки системных сигналов всем процессам системы за исключением потоков ядра ОС и процесса командной оболочки. В отличие от команды killall, которая позволяет отправлять сигналы процессам с заданными именами, она принимает лишь идентификаторы процессов, которым сигналы отправляться не должны и предназначена главным образом для использования в рамках сценариев инициализации. Не следует использовать ее при работе с графическим интерфейсом системы.

Базовый синтаксис команды выглядит следующим образом:

$ killall5 [параметры]

Команда поддерживает несколько параметров командной строки. Первым параметром является параметр - с идентификатором системного сигнала, который будет отправлен процессам, вторым параметр -o, позволяющий задать идентификатор процесса, которому не должен отправляться сигнал (может использоваться несколько раз). Что касается системных сигналов, то они могут задаваться в формате имени сигнала с префиксом SIG (-SIGKILL).

По умолчанию утилита осуществляет отправку сигнала SIGTERM для корректного завершения работы процессов. Для получения идентификаторов процессов могут использоваться утилиты ps и top.

Еще одна особенность команды killall5 заключается в том, что реализующая ее утилита может изменять свое поведение при вызове посредством символьной ссылки pidof:

$ ls -l /bin/pidof
lrwxrwxrwx 1 root root 14 авг 16 19:01 /bin/pidof -> /sbin/killall5

По сути, при использовании данной символьной ссылки, утилита будет выводить идентификаторы процессов с переданными ей именами.

Примеры использования

Завершение работы всех пользовательских процессов

Для того, чтобы завершить работу всех пользовательских процессов, достаточно использовать команду killall5 без каких-либо параметров:

$ killall5

Данная команда вряд ли понадобится при работе с графическим интерфейсом системы, но может оказаться полезной при работе с интерфейсом командной строки.

Получение идентификатора процесса

Для получения идентификатора процесса с заданным именем следует передать его имя утилите посредством символьной ссылки с именем pidof:

$ pidof bash
12940

Данная команда может оказаться полезной при необходимости использования команды kill.