zaLinux.ru

В чём различия и как пользоваться командами kill, pkill и killall


Как выключить процесс по идентификатору процесса

Каждая из команд kill, pkill и killall используется для остановки процессов в Linux. В статье «Как использовать команду ps для мониторинга процессов Linux» мы рассмотрели ряд способов идентификации процессов, включая имя, команду, пользователя и терминал. Мы также рассмотрели способы идентификации процессов по их динамическим атрибутам, таким как использование процессора и памяти.

Так или иначе, мы можем определить процессы, которые работают. Зная их идентификатор процесса, мы можем (если нужно) остановить любой из этих процессов с помощью команды kill. Если бы мы хотели убить процесс 898, мы бы использовали этот формат:

sudo kill 898

Помните о том, что в некоторых случаях процесс не завершается и при этом не выводится никаких ошибок или предупреждений. На самом деле, данная команда является «рекомендательной», она «просит» процесс завершиться. Подробности смотрите в статье «Почему команда kill не убивает процесс?».

Как выключить процесс зная его имя

Команда pkill позволяет вам убивать процессы по имени. Убедитесь, что вы определили правильный процесс! Эта команда завершит процесс top.


sudo pkill top

Как остановить несколько процессов по имени

Если у вас запущено несколько копий процесса, или процесс породил несколько дочерних процессов (как это может сделать Google Chrome), как вы можете выключить их? Это так же просто. Мы используем команду killall.

У нас запущено два экземпляра top:

ps -e | grep top

Мы можем завершить их обоих с помощью этой команды:

sudo killall top

Отсутствие ответа означает отсутствие проблем, т. е. оба эти процессы были остановлены.

Прежде чем убить процесс

Убедитесь, что это тот, который вам нужен, и убедитесь, что это не вызовет никаких проблем. В частности, стоит это проверить с помощью команды ps, запущенной с параметрами -H и --forest, чтобы убедиться, что в нем нет важных дочерних процессов, о которых вы забыли. Подробности смотрите в статье «Как использовать команду ps для мониторинга процессов Linux».

ps -f --forest -C sshd

Смотрите также: Почему команда kill не убивает процесс?


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *