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

Нет, речь пойдет не о перекаченных амбалах с 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. После ее запуска без аргументов, указатель мыши меняет форму на крестик. Стоит только прицелиться этим крестиком к окну закрываемой программы и нажать левую клавишу мыши, как работа программы тут же будет завершена.

По материалам отечественной и зарубежной прессы

Ваша оценка: Нет Средняя оценка: 5 (5 votes)

Ещё есть крайне удобная программа xkill. Позволяет прибить программу, щёлкнув на её окно.

Ваша оценка: Нет
comrade

Поднимите глаза на несколько строк выше Вашего комментария... ((-;

А вообще да, xkill удобная штука, я его значок вывел в xfce на выкидную панельку, с другими системными программками.
И ещё больше радует, что пользоваться им практически не приходится:))

Ваша оценка: Нет Средняя оценка: 4 (1 vote)
pomidorium

Ах, опередили. А я уж было столько сарказма приготовил... :)

Ваша оценка: Нет Средняя оценка: 3 (1 vote)

вы бы поаккуратней с заголовками, роскомнадзор статей не читает их ботик может автоматом наш уютный и мирный Liberatum в реестр экстримистских ресурсов внести...

Ваша оценка: Нет
pomidorium

Их ботик, к сожалению, пришлось забанить из-за некультурного поведения на сайте. Но если у специалистов возникнут претензии к заголовку, я, безусловно, быстро скорректирую его текст, чтобы не допустить блокировку и неудобства для пользователей.

Ваша оценка: Нет Средняя оценка: 4.8 (4 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Яндекс.Метрика