Содержание
Сегодня мы поговорим о том, как в Ubuntu Linux справляться с процессами которые зависли и вы не можете их завершить. Они пожирают системные ресурсы загружая систему, отжирая приличную часть оперативной памяти, чем создают такие проблемы как торможение в работе компьютера либо частичному зависанию системы на краткие отрезки времени. Ситуации бывают разные, бывает зависнет рабочий стол, бывает приложение зависнет, иногда и окружение рабочего стола зависает, именно с данных ситуаций мы будем искать выход, как обойтись без перезагрузки системы и не выключать компьютер кнопкой на системном блоке компьютера так как это не есть хорошим решением.
При работе с Ubuntu Linux у вас вероятно уже возникали вопросы:
Как убить процесс, что для этого нужно, прежде всего нужно найти PID процесса под которым располагается запущенное приложение которое вы хотите прекратить/ убить.
Каждый процесс в Linux или Unix или выполняемая программа автоматически получает идентификационный номер уникальный процесс(PID). PID автоматически присваивается для каждого процесса в системе.
Кроме консольных способов убить процесс, в Ubuntu так же можно завершить процесс используя графический интерфейс, в мелкомягких вы ранее видели Диспетчер задач, в котором вы имели возможность выделить процесс и нажать кнопку завершить в Ubuntu так же имеется аналог диспетчера задач. В Ubuntu Linux данный аналог называется "Системный монитор", я ранее писал материал по использованию данного инструмента, более подробно вы можете ознакомиться в материале - здесь.
Если вы не хотите запускать команду top или же другой более мощный ее аналог htop, далее утруждать себя поисками айди того или иного айди процесса, есть более простой выход / решение, чтобы найти PID процесса можно использовать команду "pidof" или "PS".
Допустим нам нужно узнать айди процесса приложения Google Chrome, что мы делаем в данной ситуации, откройте терминал Ctrl + Alt + T и выполняем в терминале команду:
pidof chrome
получаем вывод:
9497 9183 9123 8815 8788 6042 6033 5938 5916 5911 5908 5900 5892 5836 5831 5819
почти готово, PID мы определили, о том как убить процесс, читаем ниже.
Мы определили какой PID в приложения которое мы хотим убить, с описанного выше, вы видите, что у меня запущено сейчас в браузере много вкладок и плюс отдельные процессы браузера, в итоге 16 айди, чтобы убить их все, выполняем команду:
sudo kill 9497 9183 9123 8815 8788 6042 6033 5938 5916 5911 5908 5900 5892 5836 5831 5819
так же вы можете в системе посмотреть все активные процессы выполнив команду:
sudo ps axu
да, вот так просто. Вместо Chrome может быть любое другое приложение, skype или еще какое другое.
Так же можно использовать дополнительную команду для обнаружения айди процесса приложения которое вы хотите убить:
ps -A | grep -i name-app
вместо name-app пишем название приложения, не вводите полное название вручную, используйте автоопределение с помощью клавиш "TAB". В итоге эта команда выведет время работы необходимого процесса и соответственно его PID, который вы можете использовать чтобы убить, давайте проверим работу команды выполним в терминале:
ps -A | grep -i skype
получаем следующий результат:
9257 ? 00:00:57 skype
все что нам нужно как на ладони, есть айди так же видим сколько времени данный процесс уже работает.
О том как получить идентификатор PID я описал уже выше, далее нам остается лишь использовать этот PID совместно с kill чем мы убьем неугодный нам процесс, смотрим детали немного ниже.
Айди получили и можем теперь убить приложение:
sudo kill 9257
вот и все, приложение убито.
Чтобы убить процесс по имени можно использовать команду killall, вы прежде всего должны понимать, что данная команда убивает все процессы которые имеют одно и то же имя. Это очень удобно, так как в данной ситуации нам не нужно искать PID необходимого нам процесса, например мы хотим закрыть приложение скайп, выполним в терминале команду:
sudo killall skype
так же вариант:
sudo killall -s 9 skype
в тот же миг приложение прекращает свою работу, вот так легко можно убить неугодные вам процессы.
Я ранее писал материал о вредных советах, какие команды не стоит выполнять в терминале чтобы не убить систему, но список не совершенен и его можно дополнить еще многими командами, одну с которых вы найдете ниже.
Приведу пример команды смерти:
sudo kill -9 -1
это команда убьет все запущенные на данный момент процессы. Не советовал бы ее выполнять так как последствия могут быть непредсказуемые и вероятней всего придется перезапускать систему без графического интерфейса. На случай вдруг откажет графический интерфейс, тогда открываем терминал с помощью команд CTRL+ALT+F1, каждое новое окно открывается по той же аналогии просто меняется F1 уже на F2 и так далее.
Получить справку по командам которые использовались выше, вы так же можете через терминал выполнив команды:
man ps man grep man pidof man kill man killall
На этом наш краткий материал окончен, если вам что-то не понятно, спрашивайте в комментариях к материалу ниже.
Автор: Юрий Герук
Лицензия: CC BY-SA 4.0
Благодарность автору!