Используйте ключ Magic SysRq в Linux для исправления замороженных X-серверов, чистой перезагрузки и запуска других команд низкого уровня
В Linux магический ключ SysRq может отправлять команды непосредственно в ядро Linux. Вы можете использовать его для восстановления после зависаний или перезагрузки системы, даже если кажется, что ничего не отвечает.
Волшебный ключ SysRq реализован как часть драйвера клавиатуры Linux - он будет работать, пока ядро Linux все еще работает. Только паника ядра должна отключить эту комбинацию клавиш.
Изображение предоставлено: solylunafamilia на Flickr
Использование ключа Magic SysRq
Клавиша SysRq находится рядом с клавишей Scroll Lock на клавиатуре - клавиша Sys Rq обычно такая же, как клавиша Print Screen. «Волшебная» комбинация SysRq - это Alt + SysRq.
Чтобы использовать эту комбинацию клавиш, ваше ядро Linux должно быть скомпилировано с опцией компиляции CONFIG_MAGIC_SYSRQ - по умолчанию в большинстве дистрибутивов Linux эта опция включена. Предполагая, что он скомпилирован в ваше ядро, его можно включить или отключить в работающей системе, изменив значение / proc / sys / kernel / sysrq. Чтобы проверить, включен ли он, выполните следующую команду:
cat / proc / sys / kernel / sysrq
Если вы видите «1», магический ключ SysRq включен.
Если вы видите «0», вам придется включить его самостоятельно, выполнив следующую команду от имени root:
echo «1»> / proc / sys / kernel / sysrq
Работа с замороженным X-сервером
Если ваш X-сервер (программа, которая запускает ваш графический рабочий стол) зависает, вы можете оказаться не в состоянии использовать вашу систему. Есть несколько волшебных команд SysRq, которые могут помочь:
- Alt + SysRq + р - Выводит клавиатуру из необработанного режима, забирая управление у X-сервера. После запуска этой комбинации вы сможете использовать сочетания клавиш Ctrl + Alt + F1 (и другие клавиши F), чтобы переключиться на другую консоль и перезапустить X.
- Alt + SysRq + К - Убивает все программы на текущей виртуальной консоли, включая X. Вы также можете включить сочетание клавиш Ctrl + Alt + Backspace в настройках клавиатуры Ubuntu, чтобы перезапустить ваш X-сервер - однако этот ярлык реализован X-сервером и может не всегда работать.
Чистый перезапуск вашей системы
При последовательном использовании некоторые из этих действий можно использовать для чистого завершения процессов, сброса данных на диск, размонтирования всех файловых систем и перезагрузки компьютера. Чтобы выполнить этот процесс, нажмите и удерживайте комбинацию клавиш Alt + SysRq и -, удерживая клавиши Alt и SysRq, - введите следующие клавиши по порядку, делая паузу в течение нескольких секунд между каждой клавишей:
reisub
Мнемоникарaising Еlephants яs Sо Utterly Вoring »часто используется, чтобы запомнить эту последовательность. Вот что делает каждый ключ:
- р - Переводит клавиатуру в необработанный режим, отводя ее управление от X-сервера.
- е - Посылает сигнал завершения всем процессам, прося их завершить изящно.
- я - Посылает сигнал уничтожения всем процессам, заставляя их немедленно завершиться.
- s - Сбрасывает данные из вашего кэша на диск.
- U - Перемонтирует все файловые системы только для чтения.
- б - Перезагружает ваш компьютер.
Больше команд
Вот некоторые другие действия, которые вы можете выполнить с помощью волшебного ключа SysRq. Чтобы выполнить действие, нажмите и удерживайте клавиши Alt + SysRq при вводе буквы:
- N - Сбрасывает хороший уровень (приоритет) всех процессов с высоким приоритетом и приоритетом в реальном времени..
- е - Вызывает oom_kill, который убивает процесс захвата памяти.
- о - Выключает компьютер.
Есть и другие действия, но они могут быть более полезными для разработчиков, чем обычный фанат Linux. Для получения дополнительной информации о волшебном ключе SysRq - и полного списка действий, которые вы можете выполнить - обратитесь к файлу sysrq.txt, включенному в ядро Linux.