Клавиша Magic SysRq - Magic SysRq key

Ключ SysRq

В волшебный ключ SysRq это комбинация клавиш, понимаемая Ядро Linux, что позволяет пользователю выполнять различные низкоуровневые команды независимо от состояния системы. Его часто используют для восстановления после замерзает, или в перезагрузка компьютер, не повреждая файловая система.[1] Его действие похоже на аппаратное обеспечение компьютера кнопка сброса (или выключатель питания), но с гораздо большим количеством опций и большим контролем.

Эта комбинация клавиш обеспечивает доступ к мощным функциям для разработки программного обеспечения и аварийного восстановления. В этом смысле его можно рассматривать как форму escape-последовательность. Основными среди предлагаемых команд являются средства принудительного отключения файловых систем, завершения процессов, восстановления состояния клавиатуры и записи незаписанных данных на диск. В отношении этих задач эта функция служит крайним средством.

Волшебный ключ SysRq не может работать при определенных условиях, таких как паника ядра[2] или аппаратный сбой, препятствующий нормальной работе ядра.

Команды

Комбинация клавиш состоит из Alt+SysRq (для Linux Mint комбинация Ctrl Alt+SysRq ) и еще один ключ, который управляет выданной командой. SysRq можно отпустить перед нажатием командной клавиши, пока Alt остается удерживаемым.

Комбинации всегда предполагают QWERTY раскладка клавиатуры; например, на Раскладка клавиатуры Дворжака, комбинация для выключения системы использует р ключ вместо О. Кроме того, некоторые клавиатуры могут не иметь отдельного SysRq ключ. В этом случае отдельный PrtScr ключ должен присутствовать.

На некоторых устройствах, особенно ноутбуках, Fn может потребоваться нажатие клавиши, чтобы использовать магию SysRq ключ, например Thinkpad Carbon X1 SysRq активируется нажатием Alt+Fn+S одновременно, затем отпуская Fn и S пока все еще держит Alt (глянь сюда ).

Доступ к функциям SysRq также возможен без клавиатуры. Видеть § Другие способы вызова Magic SysRq ниже.

ДействиеQWERTYДворжакАЗЕРТИЯКолемак
Установите уровень журнала консоли, который контролирует типы сообщений ядра, выводимых на консоль.0 - 90 - 90 - 9
(без ⇧ Shift)
0 - 9
Немедленно перезагрузите систему без размонтирования или синхронизации файловых систем.бИксбб
Выполните сбой системы. Будет создан аварийный дамп, если он настроен.cjcc
Показать все текущие удерживаемые Замки (CONFIG_LOCKDEP требуется опция ядра)dеds
Отправить SIGTERM сигнал всем процессам, кроме init (PID 1)е.еж
Вызов oom_kill, который убивает процесс, чтобы облегчить OOM условиежтыжт
Когда используешь Настройка режима ядра, переключитесь на консоль фреймбуфера ядра.[3]
Если отладчик в ядре kdb присутствует, войдите в отладчик.
граммяграммd
Вывести краткую справку на консоль
Любой ключ, который не привязан к команде, также должен выполнять это действие.
часdчасчас
Отправить СИГКИЛЛ сигнал для всех процессов, кроме в этомяcяты
Принудительно «Просто разморозь» - файловые системы, замороженные ФИФРИЗ ioctl.jчасjп
Завершить все процессы на текущей виртуальной консоли (можно убить программы X и SVGALib, см. Ниже)
Изначально это было разработано для имитации ключ безопасного внимания
kтkе
Показывает трассировку стека для всех активных процессоров.лпля
Выводить текущую информацию о памяти на консольмм,м
Сбросить отлично уровень всех приоритетных и в реальном времени задачипбпk
Отключите системуороу
Вывести текущие регистры и флаги в консольплп;
Отображение всех активных таймеров с высоким разрешением и источников часов.q'аq
Переключите клавиатуру из необработанного режима, используемого такими программами, как X11 и SVGALib, к XLATE Режимрпрп
Синхронизировать все смонтированные файловые системыsоsр
Вывести в консоль список текущих задач и информацию о нихтутграмм
Перемонтировать все смонтированные файловые системы в только чтение Режимтыграммтыл
Принудительно восстанавливает фреймбуфер консоли.
Для процессоров ARM вместо этого вызовите дамп буфера ETM.
vkvv
Показать список заблокированных (состояние D) задачш,zш
Используется интерфейсом xmon на платформах PowerPC. Отключает блокировку (ограничения безопасной загрузки) на некоторых ядрах.ИксqИксИкс
Показать глобальные регистры ЦП (для SPARC-64)ужуj
Дамп буфера ftracez;шz
Распечатайте сводку доступных волшебных ключей SysRqКосмосКосмосКосмосКосмос

Использует

Обычно волшебный ключ SysRq используется для безопасной перезагрузки компьютера с Linux, который в противном случае заблокирован (сокр. REISUB). Это может предотвратить fsck требуется при перезагрузке и дает некоторым программам возможность сохранять аварийные резервные копии несохраненной работы.[4] QWERTY (или AZERTY) мнемоника: "рAising Eлефанты яs Sо Uокончательно Boring ","рeboot EVen яж Sсистема Uокончательно Broken »или просто слово« BUSIER », прочитанное в обратном направлении, часто используются для запоминания следующей последовательности SysRq-ключей:

  • ООНрaw (вернуть управление клавиатурой из Икс ),
  • тErminate (отправить SIGTERM для всех процессов, позволяя им корректно завершиться),
  • kяll (отправить СИГКИЛЛ ко всем процессам, кроме в этом, заставляя их немедленно прекратить работу),
  • Sync (сбросить данные на диск),
  • Unmount (перемонтировать все файловые системы только для чтения),
  • повторноBoot.

Когда волшебство SysRq ключи используются, чтобы убить замороженный графический программа, программа не имеет возможности восстановить текстовый режим. Это может сделать все нечитаемым. Команды текстовый режим (часть SVGAlib ) и перезагрузить может восстановить текстовый режим и снова сделать консоль доступной для чтения.

В дистрибутивах, не содержащих текстовый режим команда, ключевая команда Ctrl+Alt+F1 иногда может принудительно вернуться к текстовой консоли. (Использовать F1, F2, F3, ... , Fп, куда п - наибольшее количество текстовых консолей, установленных дистрибутивом. Ctrl+Alt+F(п+1) обычно используется для повторного входа в режим GUI в системе, в которой X-сервер не отказал.) Существуют также дистрибутивы, в которых Ctrl+Alt + (F3, ... ,F(п-2)) открывает текстовые консоли, Ctrl+Alt+F1 повторно войти в режим графического интерфейса, Ctrl+Alt+F2 повторно войдите в режим GUI на странице входа, чтобы войти в систему другого пользователя.

Конфигурация

Эта функция контролируется как компилировать параметр -time в конфигурации ядра, CONFIG_MAGIC_SYSRQ, а sysctl параметр ядра, kernel.sysrq.

На более новых ядрах (начиная с 2.6.12[5]), можно получить более детальный контроль над тем, как можно использовать волшебный ключ SysRq.[6] На этих машинах номер, записанный на / proc / sys / ядро ​​/ sysrq может быть 0, 1 или числом больше 1, что является битовой маской, указывающей, какие функции разрешить. В Ubuntu во время загрузки устанавливается значение, определенное в /etc/sysctl.d/10-magic-sysrq.conf .

Другие способы вызвать Magic SysRq

Хотя волшебная клавиша SysRq изначально была реализована как часть обработчика клавиатуры ядра для отладки, функциональность также была представлена ​​через файловая система proc и обычно используется для обеспечения расширенных возможностей управления автономными и удаленными системами. Из программ пользовательского пространства (таких как оболочка командной строки) можно получить доступ к SysRq, написав в / proc / sysrq-trigger (например., эхо s> / proc / sysrq-trigger).[1]

Многие встроенные системы не имеют подключенной клавиатуры, но вместо этого используют последовательную консоль для ввода / вывода текста в работающую систему. Функцию Magic SysRq можно вызвать через последовательную консоль, отправив последовательный сигнал прерывания, а затем желаемый ключ. Способ отправки прерывания зависит от программы терминала или оборудования, используемого для подключения к последовательной консоли. А sysctl необходимо установить опцию, чтобы включить эту функцию.[7]

Демоны Linux sysrqd[8] и tcpconsole[9] предоставить метод доступа к функциям SysRq через TCP-соединение после аутентификации с помощью обычного текстового пароля. В повесить[10] демон будет вызывать предварительно настроенные триггеры SysRq, когда система средняя нагрузка превышает определенный порог.

В Xen гипервизор имеет функцию отправки волшебных команд в размещенные домены через его xm sysrq команда.[11] Кроме того, команду SysRq можно вызвать из паравиртуальной консоли Xen, отправив последовательность прерывания. Ctrl+О а затем желаемый ключ.

Chromebook есть клавиатура, но нет выделенной клавиши SysRq. Они используют Alt+Увеличить громкость (Alt+F10) вместо[12][13][14], однако некоторые клавиши выполняют другие функции.[15][16]

IBM Энергетические системы серверы могут вызывать функцию Magic SysRq, используя Ctrl+О а затем желаемый ключ из Консоль управления оборудованием.

Разделы мэйнфреймов IBM могут вызывать функцию Magic SysRq, используя ^+- а затем желаемый ключ на 3270 или консоль HMC.

Смотрите также

Рекомендации

  1. ^ а б "Взломы ключей Linux Magic System Request". kernel.org. 2013-08-12. Получено 2017-05-21.
  2. ^ Хамличи, Мел (18 октября 2010 г.), Используйте комбинацию клавиш Magic SysRq для восстановления из зависшей системы в Linux, Unixmen, заархивировано из оригинал 20 августа 2014 г., получено 21 сен 2014.
  3. ^ Барнс, Джесси (2007-11-07). «DRM: i915: поддержка настройки режима добавления». Git (совершить). Ядро. Получено 2013-08-31.
  4. ^ Педдикорд, Джейкоб (2007-09-08). «Исправьте замороженную систему с помощью ключей Magic SysRq». Fosswire. Получено 2013-08-31.
  5. ^ Каллея, Диего (17 июля 2012 г.). «Linux 2.6.12». Новички в ядре Linux. Получено 2013-08-31.
  6. ^ "QA / Sysrq". Проект Fedora. 2013-05-09. Получено 2015-04-09.
  7. ^ Тернер, Глен; Комарински, Марк Ф (31 марта 2003 г.). «Волшебный ключ SysRq». Практическое руководство по удаленной последовательной консоли. Проект документации Linux. Получено 2015-05-08.
  8. ^ Данжу, Жюльен. "sysrqd" (проект). Получено 2016-09-13.
  9. ^ van Heusden, Folkert. "tcpconsole". Получено 2013-08-31.
  10. ^ Морган, Пол. "Hangwatch". GitHub. Получено 2013-08-31.
  11. ^ «27. Краткий справочник по команде xm», Руководство по виртуализации Enterprise Linux 5, Красная шляпа, получено 2013-08-31
  12. ^ «Сочетания клавиш для отладки». Документы Chromium OS. Получено 2018-10-22.
  13. ^ "Изменить 29110: CHROMIUM: sysrq: рассматривать F10 как волшебный ключ sysrq". Получено 2016-07-11.
  14. ^ «Разработчик Chromium OS: SysRq в ядре ChromiumOS». Получено 2016-07-11.
  15. ^ "Помогает отладить зависает система". Проекты Chromium. Получено 2018-09-25.
  16. ^ "CHROMIUM: sysrq: добавить возможность для sysrq-x сигнализировать хром / X". Получено 2018-04-12.

внешняя ссылка