Что делать при зависании Linux: приложения, мышь, полный сбой
TL;DR
Если зависло одно приложение — сначала попробуйте закрыть окно, затем используйте xkill или kill. При зависшей мыши откройте терминал (Alt + F2) или переключитесь на виртуальную консоль (Ctrl + Alt + F1) и завершите процессы. При полном зависании используйте комбинации Magic SysRq (Alt + SysReq + REISUB) для безопасной перезагрузки. Эти методы уменьшают риск повреждения файлов и делают холодный перезапуск последним средством.
Введение
Linux традиционно считается более стабильной ОС по сравнению со многими другими системами. Яркое тому подтверждение — Linux управляет более чем 95% суперкомпьютеров в мире. Тем не менее стабильность не исключает зависаний: приложения, графическая оболочка или даже вся система порой перестают отвечать. В этой статье подробно рассмотрены типичные сценарии зависания и пошаговые решения для каждого случая. Рекомендации проверены на Ubuntu 16.04; в других дистрибутивах поведение может отличаться.
Типы зависаний и общий подход
Различают три распространённых сценария:
- Зависло одно или несколько приложений, остальная система реагирует.
- Зависла мышь и графическая среда, но клавиатура и терминал доступны.
- Полный «замороз»: клавиатура, мышь и GUI не отвечают.
Общий принцип: работать сверху вниз — от наиболее мягких и безопасных методов к более «жёстким». Сначала попытайтесь корректно завершить процесс, затем — перезапустить графику, и только в крайнем случае — использовать аварийную перезагрузку.
Зависло приложение
1) Попробуйте закрыть окно
Нажмите кнопку закрытия в заголовке окна. Операционная система может показать диалог «Приложение не отвечает» и предложить ожидать или принудительно завершить процесс.

Важно: при выборе «Force Quit» (Принудительно завершить) приложение завершится, но несохранённые данные будут потеряны.
2) Используйте xkill для оконных приложений
Если диалог не появился или кнопка не срабатывает, откройте терминал и выполните:
xkillПосле запуска курсор превратится в крестик. Клик по окну завершит процесс, который владел этим окном. xkill удобен для GUI-приложений, но бесполезен для фоновых процессов без окна.

3) Если процесс консольный или не реагирует на xkill
Для консольных приложений отправьте SIGINT (Ctrl + C) в том терминале, где запущен процесс. Если нужен более сильный вариант, найдите PID и убейте процесс:
ps aux | grep имя_процесса
sudo kill
sudo kill -9 # при игнорировании SIGTERM Примечание: kill -9 принудительно завершает процесс без корректной очистки, используйте только при необходимости.
Мышь не отвечает вместе с приложениями
Если мышь перестала реагировать, но клавиатура работает, используйте один из способов ниже.
1) Быстрый запуск терминала через Alt + F2
Нажмите Alt + F2, введите:
gnome-terminalи нажмите Enter. В открывшемся терминале можно завершать процессы как описано выше.

2) Переключение на виртуальную консоль
Если Alt + F2 не работает, переключитесь на виртуальную консоль сочетанием Ctrl + Alt + F1 (или F2–F6). Введите логин и пароль, затем завершите проблемные процессы через командную строку. После работы вернитесь в графическую сессию комбинацией Ctrl + Alt + F7.
3) Перезапуск графического сервера
Если нужен быстрый рестарт графики (X/LightDM), выполните в консоли:
sudo service lightdm restartВажно: перезапуск GUI закроет все графические сессии — несохранённые данные будут потеряны.
Полный завис: клавиатура и мышь не работают
Когда ничего не отвечает, спасает Magic SysRq — специальная последовательность команд, посылаемая ядру. Это комбинация клавиш, которая работает даже в сильно зависшей системе, если ядро и клавиатурный драйвер работают.
Примечание: клавиша может маркироваться SysRq или SysReq на вашей клавиатуре.
Часто используемые комбинации SysRq
- Alt + SysReq + F — попросить ядро убить один процесс с наибольшим потреблением ресурсов.
- Alt + SysReq + K — убить все процессы на текущем виртуальном терминале (безопасно для отдельного TTY).
- Alt + SysReq + REISUB — безопасная последовательность для аккуратной перезагрузки.
Объяснение REISUB по шагам:
- R — переключиться в XLATE режим (перехват клавиатуры у X)
- E — отправить SIGTERM всем процессам, кроме init
- I — отправить SIGKILL всем процессам, кроме init
- S — синхронизировать все примонтированные файловые системы (sync)
- U — перемонтировать файловые системы в режим «только чтение»
- B — перезагрузить систему
Полезный мнемонический приём: REISUB = REVERSE(BUSIER).
Как включить работу Magic SysRq
Чтобы SysRq работал, параметр kernel.sysrq должен быть равен 1. Проверьте и при необходимости включите, отредактировав файл /etc/sysctl.d/10-magic-sysrq.conf и установив:
kernel.sysrq = 1После изменения выполните sudo sysctl -p или перезагрузите систему.

Важно: SysRq не творит чудес — если оборудование физически вышло из строя (например, проблемы с электропитанием), комбинации не помогут.
Дополнительные подходы и альтернативы
- Подключайтесь по SSH с другого устройства и выполняйте команды дистанционно. Это особенно полезно на удалённых серверах и в ситуациях, когда локальная клавиатура/мышь не работают.
- Используйте systemd-rescue или режим восстановления через загрузчик при повторяющихся зависаниях.
- Логи: просматривайте /var/log/syslog, journalctl -b или dmesg для поиска причин зависания.
- Мониторинг: настройте инструменты (top, htop, atop) и метрики, чтобы выявлять процессы, которые со временем «расползаются» по ресурсам.
Когда варианты не помогают: что делать администратору
- Соберите как можно больше данных перед жёсткой перезагрузкой: снимки журналов, состояние памяти, список процессов.
- Если доступен удалённый консольный доступ (iLO, iDRAC, IPMI), используйте его для отключения питания и контролируемого рестарта оборудования.
- Планируйте профилактику: обновление ядра, драйверов, проверка дисков (fsck) и тесты памяти (memtest).
Методология быстрого реагирования (мини-метод)
- Идентифицировать: один процесс, GUI или весь хост.
- Локально завершить приложение (кнопка/ xkill/ kill).
- Перейти в консоль при необходимости (Alt + F2 или Ctrl + Alt + F1).
- Перезапустить графику, если проблема локальна для GUI.
- Использовать SysRq для безопасного восстановления при полном зависании.
- Собрать логи и выполнить постинцидентный анализ.
Роли и чеклисты
Чеклист для обычного пользователя:
- Сохраните изменения, если приложение отвечает.
- Попробуйте закрыть окно и выбрать «Force Quit».
- Запустите xkill, если окно не закрывается.
- Откройте терминал через Alt + F2 и завершите процесс.
Чеклист для администратора:
- Подключитесь по SSH и проверьте журналы.
- Используйте top/htop для обнаружения утечек ресурсов.
- При повторяющихся зависаниях инициируйте расследование (обновления, драйверы, аппаратные тесты).
- Если система полностью не отвечает — используйте Magic SysRq и соберите логи после восстановления.
Критерии приёмки
Чтобы считать инцидент решённым:
- Система вернулась в рабочее состояние без потери критичных данных.
- Процесс, вызвавший зависание, либо завершён, либо диагностирован и помещён в план исправления.
- Собраны логи и сформировано действие по предотвращению повторения.
Тест-кейсы для проверки восстановления
- Симулировать зависание GUI: запустить процесс, потребляющий 100% CPU, проверить, что xkill завершает окно.
- Отключить мышь вручную (имитация аппаратного залипания), проверить возможность переключения в виртуальную консоль и завершения процессов.
- Имитировать полный завис разной тяжести и проверить корректность работы REISUB при kernel.sysrq=1.
Когда эти методы не работают — типичные причины
- Аппаратные проблемы: перегрев, сбои памяти, неисправные диски.
- Низкоуровневые драйверы GPU или сетевого адаптера приводят к блокировке графики.
- Повреждённая файловая система, которая не синхронизируется должным образом.
Однострочный глоссарий
- SysRq — специальная клавиша для отправки команд прямо в ядро; REISUB — безопасная последовательность перезагрузки.
- xkill — утилита для завершения графических окон.
- SIGTERM/SIGKILL — сигналы завершения процесса: мягкий и принудительный.
Заключение
Установите последовательность действий и практикуйтесь на неважных машинах. Это поможет действовать быстро и безопасно при реальных зависаниях. Всегда начинайте с мягких методов и переходите к жёстким только при отсутствии других вариантов. Сбор логов и постинцидентный анализ снизят риск повторных проблем.
Примечание: описанные приёмы минимизируют вероятность порчи данных по сравнению с жестким отключением питания, поэтому холодный перезапуск оставьте на крайний случай.
Image credit: /home
Похожие материалы
Как исправить ERROR_RECEIVE_PARTIAL_EXPEDITED
Будильники и таймеры в Windows 10 — настройка
4 бесплатных AI‑игры от Google Arts & Culture
Как изменить имя и идентификатор в Skype
Исправить BSoD 0xc0000428 в Windows