ГлавнаяОперационные системыLinuxКак справиться с зависанием приложений/ОС в Linux

Как справиться с зависанием приложений/ОС в Linux

Операционные системы на базе Linux считаются более стабильными, чем другие операционные системы. Свидетельством этому является тот факт, что Linux используется на более чем 95% суперкомпьютеров в мире. Однако стабильность и производительность не означают, что в системах Linux не происходит зависаний приложений или ОС.

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

Примечание. Все решения и методы, упомянутые в этой статье, были протестированы в Ubuntu (версия 16.04). Они могут работать, а могут и не работать в других дистрибутивах.

Заморозка приложения

Когда приложение зависает, первым и наиболее очевидным шагом является закрытие приложения, нажав кнопку закрытия (кнопка круглой формы с буквой «х» внутри), расположенную в левом верхнем углу окна приложения. Обычно, в случае зависания, когда вы это делаете, появляется небольшое окно с сообщением о том, что приложение не отвечает, что дает вам возможность либо завершить процесс, либо дождаться ответа приложения.

Ubuntu-Freeze-ForceQuit

Вы можете нажать кнопку «Принудительно выйти», чтобы изб

Заморозка приложения

, если это не сработает, следующим шагом должен быть запуск команды xkillв терминале командной строки. (Вы также можете создать сочетание клавиш для этого .) Как только команда будет запущена, указатель мыши превратится в X.

Ubuntu-Freeze-Xkill

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

Хотя «xkill» — отличное решение для избавления от зависших приложений, вы не можете использовать этот метод для процессов/приложений, у которых нет графического интерфейса. Не волнуйтесь, у нас уже есть некоторые общеизвестные решения, такие как отправка сигнала SIGINT приложению/процессу нажатием «Ctrl + C» или завершение процесса с помощью команда убийства .

Когда мышь тоже перестает работать

Что, если ваша мышь тоже зависнет? В этом случае наиболее удобным вариантом будет воспользоваться терминалом командной строки, который можно запустить, нажав «Alt + F2», введя gnome-terminalи затем нажав Enter.

Ubuntu-freeze-gnome-терминал

Излишне говорить, что, находясь в командной строке, вы можете легко завершить процесс/приложение, независимо от того, основано оно на графическом интерфейсе или нет.

Если по какой-то причине вышеуказанное решение не работает, вы можете переключиться на виртуальный терминал, нажав «Alt + Ctrl + F1». Оказавшись там, просто введите свои данные для входа, и теперь у вас есть доступ к вашей системе из командной строки. Когда вы закончите уничтожать не отвечающие процессы, вы можете вернуться к сеансу графического интерфейса (который технически представляет собой консоль, на которой работает ваш X-сервер), нажав «Ctrl + Alt + F7». Альтернативно, если хотите, вы также можете перезапустить графический интерфейс из виртуальной консоли, выполнив следующую команду:

sudo service lightdm restart

Когда все зависает

К сожалению, бывают случаи, когда все (включая клавиатуру) перестает отвечать на запросы. Как следует действовать в этом сценарии? Здесь вам на помощь придет волшебный ключ SysRq . В отличие от того, что следует из названия, волшебный ключ SysRq на самом деле представляет собой комбинацию клавиш, которая позволяет вам напрямую общатьс

Когда мышь тоже перестает работать

оянии в данный момент находится ваша система, что позволяет устранять зависания/зависания, когда кажется, что ничего не отвечает.

Вот комбинации клавиш, о которых мы говорим:

  • Alt + SysReq + F : эта комбинация клавиш просит ядро ​​одновременно завершить один процесс (самый дорогой).
  • Alt + SysReq + K : эта комбинация клавиш просит ядро ​​завершить работу всех приложений/процессов за один раз.
  • Alt + SysReq + REISUB : эта комбинация клавиш запрашивает ядро ​​выполнить чистую перезагрузку системы.

Вот как третья комбинация клавиш (в списке выше) выполняет чистую перезагрузку:

  • R : переключитесь на Режим XLATE
  • E : отправить SIGTERM всем процессам, кроме init
  • I : отправить SIGKILL всем процессам, кроме init
  • S : синхронизировать все смонтированные файловые системы
  • U : перемонтировать все файловые системы как доступные только для чтения
  • B : перезагрузка

СОВЕТ : вы можете запомнить комбинацию REISUB, обратную BUSIER.

Очевидно, что комбинация клавиш «Alt + SysReq + REISUB» — лучшая альтернатива, чем холодная перезагрузка вашей системы.

Примечание. Чтобы волшебный ключ SysRq работал, убедитесь, что параметр «kernel.sysrq» в файле «/etc/sysctl.d/10-magic-sysrq.conf» имеет значение установлено значение 1.

Ubuntu-freeze-sysrq-conf

Заключение

Существует множество методов, которые можно использовать для выхода из ситуаций зависания приложений/ОС в Ubuntu. Здесь стоит подчеркнуть (и вам ва

Когда все зависает

методы предназначены для того, чтобы избавить вас от выполнения физического сброса или включения/выключения питания, что в идеале должно быть последним средством в большинстве случаев.

Изображение предоставлено: /home

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи