Утилита kill#

kill отправляет указанный сигнал процессу или группе процессов, PID которых были ему переданы. Если сигнал не указан, отправляется сигнал TERM. Для процессов, которые не перехватывают сигнал TERM, его будет достаточно для завершения. Для других процессов может потребоваться использовать сигнал KILL (9), поскольку этот сигнал не может быть перехвачен ни одним процессом.

Синтаксис kill:

kill <options> <pid>

или

kill -s <signal> <pid>

Где <signal> – сигнал, который необходимо передать процессу. Перечень сигналов можно вывести с помощью опции -l.

<pid> может быть выражен одним из следующих способов:

  • <n> - сигнал получит процесс, PID которого указан. PID должен быть больше 0;

  • 0 – сигнал получат все процессы в текущей группе;

  • -1 – сигнал получат все процессы, PID которых больше 1;

  • -<n> – сигнал получат все процессы в группе <n>. <n> должен быть больше 1.

Часто используемые опции утилиты представлены в таблице ниже:

Опция

Описание

-s <signal>, --signal <signal>

Указать сигнал для передачи. Может быть задан числом или именем

-l <number>, --list <number>

Вывести список названий сигналов или преобразовать заданный номер сигнала в имя

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

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

  • Для завершения процесса с использованием сигнала по умолчанию (сигнал SIGTERM) введите команду:

    kill <pid>
    
  • Для вывода списка доступных сигналов используйте команду:

    kill -l
    

    Имена сигналов совместно с kill используются без SIG.

  • Для передачи сигнала процессу о немедленном завершении (с использованием сигнала, который невозможно перехватить) воспользуйтесь командой:

    kill -9 process_id
    

    Вместо -9 можно передать название сигнала – KILL.