Домашняя » как » Используйте ключ Magic SysRq в Linux для исправления замороженных X-серверов, чистой перезагрузки и запуска других команд низкого уровня

    Используйте ключ 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.