Операционные системы на базе Linux считаются более стабильными, чем другие операционные системы. Свидетельством этому является тот факт, что Linux используется на более чем 95% суперкомпьютеров в мире. Однако стабильность и производительность не означают, что в системах Linux не происходит зависаний приложений или ОС.
Может быть много разных типов зависаний, например ситуации, когда одно или несколько приложений зависают, мышь перестает реагировать вместе с приложениями и, наконец, когда все (включая клавиатуру) зависает. В этой статье мы подробно обсудим различные решения, доступные для каждого случая, и в каком порядке их следует применять.
Примечание. Все решения и методы, упомянутые в этой статье, были протестированы в Ubuntu (версия 16.04). Они могут работать, а могут и не работать в других дистрибутивах.
Заморозка приложения
Когда приложение зависает, первым и наиболее очевидным шагом является закрытие приложения, нажав кнопку закрытия (кнопка круглой формы с буквой «х» внутри), расположенную в левом верхнем углу окна приложения. Обычно, в случае зависания, когда вы это делаете, появляется небольшое окно с сообщением о том, что приложение не отвечает, что дает вам возможность либо завершить процесс, либо дождаться ответа приложения.
Вы можете нажать кнопку «Принудительно выйти», чтобы изб
Заморозка приложения
, если это не сработает, следующим шагом должен быть запуск командыxkill
в терминале командной строки. (Вы также можете создать сочетание клавиш для этого .) Как только команда будет запущена, указатель мыши превратится в X.
Теперь, в этом состоянии, щелчок левой кнопкой мыши по любому окну приложения приведет к закрытию этого приложения.
Хотя «xkill» — отличное решение для избавления от зависших приложений, вы не можете использовать этот метод для процессов/приложений, у которых нет графического интерфейса. Не волнуйтесь, у нас уже есть некоторые общеизвестные решения, такие как отправка сигнала SIGINT приложению/процессу нажатием «Ctrl + C» или завершение процесса с помощью команда убийства .
Когда мышь тоже перестает работать
Что, если ваша мышь тоже зависнет? В этом случае наиболее удобным вариантом будет воспользоваться терминалом командной строки, который можно запустить, нажав «Alt + F2», введя gnome-terminal
и затем нажав Enter.
Излишне говорить, что, находясь в командной строке, вы можете легко завершить процесс/приложение, независимо от того, основано оно на графическом интерфейсе или нет.
Если по какой-то причине вышеуказанное решение не работает, вы можете переключиться на виртуальный терминал, нажав «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. Здесь стоит подчеркнуть (и вам ва
Когда все зависает
методы предназначены для того, чтобы избавить вас от выполнения физического сброса или включения/выключения питания, что в идеале должно быть последним средством в большинстве случаев.Изображение предоставлено: /home