Неприятности с компьютером случаются всегда неожиданно. Вне зависимости от того, с какой операционной системой вы «общаетесь», все происходит по примерно одному и тому же сценарию. Вот ваша машина бодро отвечала на все запросы, все «бегало» просто с космической скоростью. Но через пять минут внезапно система начинает тормозить, задачи выполняются с черепашьей скоростью, компьютер греется, а вентилятор уже почти визжит от нагрузки. Что-то явно пошло не так. Но что?
Остановить процесс в Linux сегодня не сложнее, чем в Windows. Благодаря GUI пользователю достаточно открыть инструмент, который выполняет здесь роль диспетчера задач в Windows, и найти там «больной» процесс, пожирающий ресурсы машины или не дающий открыться ранее вызванной программе.
Как мы видим, все не просто, а очень просто. Функция доступна в большинстве самых популярных версий Linux. Но, как говорится, есть один нюанс. GUI может «отвалиться». И тогда юзер остаётся один на один с командной строкой. Однако на самом деле и это решение оказывается в современной Linux системе довольно незамысловатым. Мы рассмотрим два варианта действий. В первом будем останавливать процессы, о проблеме с которыми заранее известно. Во втором же попытаемся «спасти» программу, отключив ее лишь частично.
Останавливаем все процессы программы сразу
Допустим, у нас есть проблема с браузером FireFox. Лиса тормозит и «жрет» память. Ничего важного во вкладках у нас нет, и потому мы выбираем самый простой и быстрый путь работы без помощи GUI.
Вводим команду
killall firefox
Если вы хотите, чтобы система была «вежливой и предусмотрительной», то команда должна выглядеть следующим образом:
killall -i firefox
Тогда после ее ввода Linux затребует подтверждение остановки процессов браузера. Вы отвечаете «Да», Огненная Лиса отправляется на отдых.
Останавливаем только определенные процессы
Наш пример с FireFox вполне подходит.
Вводим команду
kill PID
Где PID — это идентификатор соответствующего процесса.
И тут вы, возможно, скажете:
— Одну секундочку! А как мне определить этот самый идентификатор?
Отличный вопрос! Открываем окно терминала и вводим
ps aux |grep firefox
Разберём команду:
ps — выводит на экран список процессов
aux — снимает так называемые «BSD ограничения» и показывает все текущие процессы Linux
grep — выделяет только тот процесс, характеристика котрого следует далее
firefox — характеристика, то есть название процесса, который ищет юзер
В случае с браузером мы видим множество процессов, количество которых равно числу открытых вкладок. Можно пойти по пути постепенного отключения этих процессов, чтобы спасти работу FireFox в целом. Если же сделать это по каким – то причинам не удаётся, то прекратить работу всего браузера можно и отсюда. Для этого нужно локализовать процесс, то есть найти его в списке. Обычно это самый первый номер PID, располагающийся непосредственно сразу за именем пользователя. Нужная строчка будет выглядеть примерно вот так:
jack 21960 7.6 2.5 14450944 825944 ? SNl Jun12 122:44 firefox
Теперь мы уверены, что основной процесс, остановка которого повлечёт за собой прекращение работы всей программы, имеет характеристику 21960. Зная PID, вводим команду:
kill 21960
Огненная Лиса должна исчезнуть из списка процессов, чтобы снова появиться во всем своем великолепии, когда юзеру в очередной раз понадобится браузер.