Как убить процесс в Linux

Убийство процесса в Linux

Когда-нибудь у вас случалось сбой приложения? Конечно, да. Это происходит со всеми, независимо от операционной системы, на которой установлено приложение. Что вы делаете, когда это происходит? Перезагружаете операционную систему?

Нет. Это следует рассматривать только как последнюю возможность.

Также: Готовы ли вы отказаться от Windows в пользу Linux? Вот идеальный дистрибутив для вас

Когда приложение становится неконтролируемым, вместо перезагрузки компьютера в Linux вы можете просто использовать команду для завершения связанного процесса (поскольку каждое приложение и служба на вашей машине Linux работает как процесс).

Большинство графических сред рабочего стола Linux включают инструмент с графическим интерфейсом, который позволяет легко завершить процесс, выбрав его и затем выбрав “Завершить”.

Завершение процесса из графического интерфейса рабочего стола Pop!_OS.

Это все хорошо, но что делать, если вы не можете получить доступ к графическому интерфейсу из-за того, что утечка процесса забирает всю оперативную память вашей системы? Вот тогда вы обращаетесь к командной строке.

Также: Лучшие ноутбуки на Linux

Я покажу вам два простых способа завершить процесс в Linux с помощью командной строки. Вы удивитесь, насколько это на самом деле просто.

Как использовать команду kill

1. Использование команды kill

Первый метод, который я покажу вам, использует команду kill. Команда kill завершает процессы по их PID (идентификатору процесса). Типичная команда kill выглядит так:

kill PID

Где PID – это идентификатор процесса для интересующего вас процесса.

2. Как завершить процесс Firefox с помощью команды kill

Вы, наверное, спрашиваете себя: “Где я могу найти PID?” Хороший вопрос. Вот как. Предположим, проблемным приложением является веб-браузер Firefox. Чтобы завершить процесс Firefox с помощью команды kill, откройте окно терминала и найдите PID с помощью следующей команды:

ps aux |grep firefox

Разберем вышеприведенную команду:

  • ps: Показывает снимок текущих работающих процессов.
  • aux: Снимает ограничения “только для себя” в стиле BSD, а также ограничение “должен иметь терминал” в стиле BSD и перечисляет все процессы в списке пользователей.
  • |: Перенаправляет вывод ps на следующую команду (в данном случае, grep).
  • grep: Соответствует только процессу с указанной строкой.
  • firefox: Искомый процесс.

Также: Переход от одного дистрибутива Linux к другому – это увлекательный способ найти идеальную операционную систему для рабочего стола

Конечно, в случае Firefox вы увидите процесс для каждой открытой вкладки. Чтобы действительно завершить Firefox, вам нужно найти PID первого процесса в списке. Эта запись будет выглядеть примерно так:

jack       21960  7.6  2.5 14450944 825944 ?     SNl  Jun12 122:44 firefox

PID – это первое число (непосредственно справа от имени пользователя). Так что в данном примере команда kill будет такой:

kill 21960

Вышеприведенная команда должна завершить Firefox.

Как использовать команду killall

1. Использование команды killall для Firefox

Этот метод гораздо проще. Вместо использования PID процесса, вы используете имя процесса. Так что, если вы хотите завершить процесс с именем Firefox, команда будет такой:

killall firefox

Если вы хотите быть увереными, вы можете заставить killall подтвердить, что вы хотите завершить команду, используя интерактивный вариант, например:

killall -i firefox

Введите “y” в ответ на вопрос, и процесс Firefox будет убит.

Верите или нет, так легко можно уничтожить убежавший процесс (или любой другой процесс) в Linux. Да, для каждой из этих команд доступно больше опций, но то, что я описал выше, поможет вам начать. Чтобы узнать больше о каждой команде, прочитайте страницы руководства с помощью команды man kill и man killall.