Линукс завис? Что делать если линукс зависает
Какой-нибудь непримиримый оптимист-линуксятник может сказать — такого быть не может — чтобы завис линукс. Но увы и ах, такое случается. И любой человек, пользующийся этой ОС может столкнуться с ситуацией, когда его любимый (или нелюбимый) Linux завис.
Однако в сторону смехуечки. В этой статье будет рассмотрен частный случай зависания ОС Linux — когда графический интерфейс не реагирует на действия пользователя, но клавиатура работает. Если быть точным, в такой ситуации зависает не Linux как таковой, а всего лишь один из процессов — тот который реализует графический интерфейс пользователя — это может быть GNOME, KDE, Unity или что-то другое.
Итак, что мы можем сделать в том случае если завис GNOME, KDE или Unity?
Если у вас Unity то для начала попробуйте на клавиатуре нажать правый Alt + PrintScreen + K. Это сочетание выполняет перезапуск графического движка lightdm. Если поможет, тогда перед вами откроется экран авторизации.
Если это не сработает или у вас не Unity, а GNOME или KDE завис, тогда нажимайте Ctrl + Alt + F1. В Ubuntu это сочетание открывает новую терминальную (tty) сессию. Безо всяких гуев — только чистый терминал. Выглядит это страшно — пустой черный экран с мигающим курсором. Но вообще-то там ничего сложного нет — сначала пишете имя пользователя, нажимаете Enter, затем пароль и опять Enter и после этого вы возвращаете себе управление над своим компьютером.
Примечание. Не во всех дистрибутивах открытие новой tty сессии выполняется по Ctrl + Alt + F1. Например в Fedora это будет Ctrl + Alt + F2. Если Ctrl + Alt + F1 не сработал, пробуйте другие клавиши F. Или это может быть сочетание клавиш Ctrl + Alt + Backspace (один или два раза).
Итак вы в терминале. Что можно предпринять для возвращения в GUI?
Самое простое это выполнить команду — reboot — компьютер перезагрузится. Но это довольно долго.
Можно выполнить просто перезагрузку графического движка:
- sudo service lightdm restart — для Unity
- sudo service gdm restart — для GNOME
- sudo service kdm restart — для KDE
После этого должен открыться экран авторизации в новую сессию GUI. Но если это не помогло, тогда можно попробовать убить процесс сервера xorg. Для начала нужно узнать его PID:
ps -A | grep -i xorg
После этого автоматически должен стартовать новый процесс сервера xorg и в свою очередь запустить движок GUI. Если автоматического старта не произошло можно запустить сервер вручную:
Или же, не используя таких радикальных методов как перезапуск GUI, можно попробовать разобраться с тем какой процесс "повесил" графическую систему и убить только один этот процесс.
Как вернуться в GUI сессию если вы находитесь в консольной сессии?
В Ubuntu Unity и KDE GUI сессия по умолчанию открывается на tty7, то есть переход туда возможен по Ctrl + Alt + F7. В GNOME 2 и 3 или в другом дистрибутиве GUI сессия может быть открыта на другом tty. Узнать какой tty используется для GUI сессии можно выполнив команду:
ps -A | grep -i xorg
в одной из колонок будет значение вида tty7. Какая цифра будет, такую клавишу F нужно нажимать.
Остается открытым вопрос почему Linux зависает, точнее почему GNOME или KDE зависает, но это тема для отдельной статьи. Разобраться в причинах почему GNOME завис или KDE завис может быть совсем непросто и если эта проблема возникает редко, проще ее игнорировать, чем тратить время на поиск причины.
По практике нескольких лет использования могу сказать — зависает Ubuntu Linux очень редко и если такое случается, то как правило из-за проблем с аппаратным обеспечением — видео или оперативной памятью. Но иногда бывает, что Ubuntu GNOME зависает в бета-версиях — бета она и есть бета. Так, что я всегда советую устанавливать только LTS версии Ubuntu.
Иван Сухов, 2012 г.
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
7 способов "убить" зависшее приложение в Linux

Программное обеспечение Linux достаточно надежно, но бывает, что даже самые лучшие приложения могут зависнуть. Вместо того, чтобы ждать сообщения о сбое в работе приложений, вы можете «убить» их, принудительно завершив. На самом деле способов это сделать существует настолько много, что глаза разбегаются!
Если у вас возникают такие проблемы, вот несколько способов, как принудительно завершить программу в Linux.
1. Завершить программу в Linux, просто нажав на «X»

Вы, наверное, уже пытались уйти и сделать себе чашечку кофе, но когда вернулись, обнаружили, что ваша программа зависла, вероятно, у него было достаточно времени, чтобы «отвиснуть», но этого не произошло. Зависшее приложение обычно имеет серые неактивные кнопки управления и у него пропадает возможность перемещения.
Итак, как эту проблему решить? Нажмите на «крестик» в верхнем углу (слева или справа, в зависимости от версии системы Linux). Это должно помочь. Возможно, появится окно с просьбой подождать или принудительно завершить процесс, а также отправить отчет об ошибке.
2. Воспользуйтесь системным монитором, чтобы «убить» процесс Linux

Следующий вариант — открыть утилиту System Monitor вашей операционной системы Linux. Обычно она находится в меню «Системные инструменты» и отображает список запущенных процессов на вкладке «Процессы«.
Чтобы закрыть не отвечающее приложение, просто выберите его и щелкните правой кнопкой мыши. Затем у вас появится три варианта:
- Остановить: приостанавливает процесс, позволяя продолжить его позже. Не будет работать в большинстве случаев.
- Завершить: правильный способ закрыть процесс, он безопасно завершит работу приложения, вместе с ним удаляя временные файлы.
- Убить: вариант на крайний случай и его рекомендуется применять только в случае сбоя.
Лучше всего использовать их по порядку. Однако, если приложение регулярно зависает, можно использовать вариант, в котором вы точно уверены.
3. Принудительное уничтожение процесса Linux с помощью xkill
Другой вариант — использование команды xkill в терминале. Это инструмент принудительного уничтожения процесса, который предустановлен в Ubuntu, но его можно также установить через терминал в других дистрибутивах, если необходимо. xkill позволит закрыть любой процесс. Установить его можно с помощью следующей команды:
Как только установите, наберите:
Вместо указателя мыши появится крест (или череп). Далее необходимо щелкнуть левой кнопкой мыши на зависшем приложении, чтобы закрыть его.
Если невозможно закрыть зависшее приложение одним из этих методов, то решение может быть в терминале Linux.
4. Используйте команду «kill»
Если ни один из вышеперечисленных методов не помог и приложение до сих пор не отвечает, нажмите Ctrl + Alt + T, чтобы открыть терминал.
Есть несколько команд, которые должны помочь закрыть ваше приложение. Более того, их можно использовать как на вашем компьютере, так и подключившись удаленно через SSH.
Команда kill может быть использована только с указанием идентификатора процесса. Сначала выясним его:
В результате вы увидите ID нужного процесса. Далее используем команду:
Возможно, вам понадобятся системные права для использования программы, тогда используйте sudo.

5. Используйте команды «pgrep» и «pkill»
Что, если вы не смогли найти идентификатор процесса. Здесь вам поможет команда pkill.
Кроме того, можно использовать команду pgrep, чтобы найти идентификатор процесса:
После этого используйте команду pkill с ID процесса.

Как и в случае команды kill, процесс должен завершиться в течение 5 секунд.
6. Уничтожить все экземпляры процесса с помощью «killall»
Не повезло с kill или pkill? Пришло время использовать ядерную опцию: killall.
К счастью, она не так разрушительна, какой могла бы быть. Команда killall завершит все экземпляры указанной программы. Таким образом, вместо того, чтобы убивать одно окно Firefox, данная команда завершит их все:
Все, что вам нужно, это имя процесса и команда killall (возможно, с sudo, если этого требует ваша система).
Естественно, вы должны использовать эту команду только при необходимости. Она не подходит для большинства ситуаций.
7. Создайте комбинацию клавиш
Хотите сэкономить время на закрытие не отвечающего программного обеспечения? Наилучшим вариантом является создание сочетания клавиш. Это даст вам возможность немедленно закрыть приложение, но для этого потребуется xkill.
В Ubuntu откройте «Настройки«>«Клавиатура» и нажмите «Комбинации клавиш«. Выберите Дополнительные комбинации, затем +, чтобы создать новую. Введите «xkill» для названия, затем нажмите «Применить«. Это вернет вас к списку комбинаций — выберите нужную, затем нажмите необходимую комбинацию клавиш, которую вы будете использовать для ее вызова.

В следующий раз, когда вам нужно закрыть приложение, просто используйте сочетание клавиш. Указатель мыши станет «X», и вы можете щелкнуть в любом месте приложения, которое хотите закрыть.
Избегайте зависаний программ: обновите свое оборудование
Зависающие программы постоянно вызывают проблемы? Возможно, пора немного обновить ваш компьютер.
Установка дополнительной оперативной памяти — это лучший способ повысить производительность вашего компьютера, и, возможно, именно это вам и нужно.
Итак, в следующий раз, когда приложение или утилита Linux зависнет и перестанет отвечать на запросы, все, что вам нужно сделать, это применить одно из следующих решений:
- Завершить программу в Linux, просто нажав на «X».
- Воспользуйтесь системным монитором, чтобы «убить» процесс Linux.
- Принудительное уничтожение процесса Linux с помощью xkill.
- Используйте команду «kill».
- Используйте команды «pgrep» и «pkill».
- Уничтожить все экземпляры процесса с помощью «killall».
- Создайте сочетание клавиш.
Если ни одно из этих решений не работает и вы регулярно испытываете не отвечающие приложения Linux, рассмотрите возможность перехода на облегченную операционную систему Linux.
Завис Linux что делать?

Ничто не способно так вывести из себя, как ситуация, когда ни одно нажатие на мышь или клавиатуру не отзывается ожидаемой реакцией системы.
Завис Linux что делать?
Первой мыслью в этом случае будет перезагрузить систему хард ресетом. Но лучше пойти другим путем и найти виновника, переключившись в терминал.
Нажимаем Ctrl + Alt + F2, вводим логин и пароль и запускаем top:
Он покажет процессы (приложения), которые больше других кушают CPU. Те, что находятся на первых местах и в колонках CPU и TIME которых существенно большие цифры, чем у других, и есть корень зла.
Остается только их прибить (1110 здесь и далее — это PID процесса, который top показывает в одноименной колонке):
и забыть о проблеме. Хотя нет. На всякий пожарный нужно вновь запустить top и, если процесс все еще на месте, прикончить его с помощью безапелляционного
Процессы, запущенные от рута, требуют запуска kill через sudo, но в этом случае надо быть предельно внимательным и понимать, что делаешь, чтобы не угробить систему.
Вернуться назад в графический режим можно с помощью сочетания Ctrl + Alt + F7. В некоторых дистрибутивах может помочь Ctrl + Alt + F3 или F4. В общем, следует попробовать все функциональные клавиши.