Нет, речь пойдет не о перекаченных амбалах с Desert Eagle в обоих мясистых руках. Наоборот, эта статья для очкастых прыщавых задротов. Разберемся как с помощью команды kill и ее вариаций можно завершать процессы прямо из терминала.
Если вы линуксоид старой школы, то наверняка и без меня знаете что такое сигнал завершения и с помощью какой программы его послать нужному процессу. Для представителей поколения Unity скажу, что программу можно закрыть не только нажатием мышкой на крестик, но и из командной строки. Более того, в некоторых тяжелых случаях только с помощью терминала и удается разобраться с зависшим софтом.
Для того, чтобы программа прекратила свою работу, она должна получить один из двух сигналов: SIGTERM (15) или SIGKILL (9). Всего же видов сигналов около 60 и все они очень полезны. Разобравшись в них и научившись их применять, вы заметно улучшите качество своей работы в операционной системе. Но сейчас рассмотрим лишь ту пару обозначенных выше сигналов.
SIGTERM (15) посылается программе в тех случаях, когда требуется корректно завершить ее работу. Принимающий сигнал процесс имеет возможность корректно сохранить данные и освободить ресурсы. В этом главное достоинство сигнала SIGTERM и его же недостаток — программа вовсе не обязана завершаться. Ей дается понять, что этого от нее хотел бы пользователь. Если программа зависла, то она не сможет обработать SIGTERM и останется висеть в памяти.
Этого недостатка лишен сигнал SIGKILL. Сигнал не обрабатывается и вызывает аварийное завершение работы любого процесса. Разумеется, о сохранении результатов работы речь не идет.
Послать любой сигнал можно с помощью команды kill, указав имя сигнала или его порядковый номер в качестве аргумента и добавив идентификатор того процесса, которому этот сигнал предназначается.
Например:
kill SIGKILL <ID процесса>
или
kill -9 <ID процесса>
В обоих случаях процесс будет «убит» без лишних разбирательств.
Если вы вдруг забудете номера сигналов, вашу память освежит команда «kill -l», выводящая информацию о всех 60 сигналах.
Осталось выяснить как узнать идентификатор нужного процесса. Для этого пригодится команда «ps» с опциями «ux»:
ps ux
На экране появится подробная информация обо всех процессах, включая их имена, идентификаторы; будет указан владелец процесса и потребляемые ресурсы.
Кто-то может найти не очень удобным такое завершение работы программы. И будет прав. Действительно, не много ли телодвижений: сначала запустить ps, потом вглядываться в таблицу в поисках номера, потом перепечатывать этот номер вместе с командой kill? Конечно, неудобно!
Поэтому для любителей комфорта был придуман ряд дополнительных программ. Например, программа pkill позволяет указать сразу имя завершаемой программы или даже часть этого имени. Например:
pkill firefox
Будет закрыт браузер Firefox. Еще пример:
pkill fire
Опять же, будет закрыт браузер Firefox. Удобно? Не то слово!
Если требуется прекратить целую группу процессов с разными идентификаторами, но одинаковым именем (например, браузер Google Chrome любит создавать десятки процессов с именем Chrome), то на помощь приходит команда killall. Как можно понять по ее названию, она завершает все процессы по заданному имени:
killall chrome
Эта команда завершит работу браузера Chrome и все производные процессы.
Любителям графического интерфейса очень понравится программа xkill. После ее запуска без аргументов, указатель мыши меняет форму на крестик. Стоит только прицелиться этим крестиком к окну закрываемой программы и нажать левую клавишу мыши, как работа программы тут же будет завершена.
По материалам отечественной и зарубежной прессы
Ещё есть крайне удобная программа xkill. Позволяет прибить программу, щёлкнув на её окно.
Поднимите глаза на несколько строк выше Вашего комментария... ((-;
А вообще да, xkill удобная штука, я его значок вывел в xfce на выкидную панельку, с другими системными программками.
И ещё больше радует, что пользоваться им практически не приходится:))
Ах, опередили. А я уж было столько сарказма приготовил... :)
вы бы поаккуратней с заголовками, роскомнадзор статей не читает их ботик может автоматом наш уютный и мирный Liberatum в реестр экстримистских ресурсов внести...
Их ботик, к сожалению, пришлось забанить из-за некультурного поведения на сайте. Но если у специалистов возникнут претензии к заголовку, я, безусловно, быстро скорректирую его текст, чтобы не допустить блокировку и неудобства для пользователей.