Достаточно редко, когда я провожу над своей системой бесчеловечные ядерные эксперименты, она зависает наглухо - ничто не совершенно в этом мире. Именно для этих целей в ядре Линукс имеется замечательная возможность: Волшебная клавиша SysRq.
Что это такое?
Если внимательно посмотреть на клавиатуру, там обнаружится кнопка PrtSc / SysRq. Подавляющее большинство виндоуз-пользователей полагают, что она специально присутствует на клавиатуре для скриншотов - забывая, что эта кнопка появилась на клавиатуре задолго до появления редмонтовской конторы.
На самом деле эта клавиша - наша единственная прямая связь с ядром, которая работает всегда. При помощи некоторых комбинаций клавиш можно заставить систему аварийно сбросить данные на диски, размонтировать все файловые системы в режим "только-чтение" и перезагрузиться даже при наглухо зависшей системе.
Magic SysRq это комбинация клавиш, напрямую перехватываемая ядром и может быть использована для аварийного выключения. Так как Magic SysRq выполнена как часть драйвера клавиатуры, она гарантировано работает почти всегда - почти, если только ядро само по себе работоспособно.
Как ей пользоваться?
Сначала нужно убедиться, что она включена: в конфиге ядра CONFIG_MAGIC_SYSRQ должно иметь значение Y (по крайней мере в дефолтном ядре Дебиана это так). Дальше применение такое: нажимаем и держим ALT, нажимаем SysRq, отпускаем всё и нажимаем одну из "командных" клавиш - ниже их краткое описание.
Командные клавиши
Ниже перечислены наиболее полезные клавиши, которые могут пригодиться для тех, кто проводит бесчеловечные эксперименты над системой или устанавливает проприетарные драйвера. Чтобы их легче было запомнить, будет написано слово, в котором эта буква есть по смыслу. Всё сказанное ниже актуально по крайней мере для ядер 2.6.20 и выше.
Одновременное нажатие клавиш Alt + SysRq + 'H'elp - выводит все доступные возможности SysRq, выделяя большой буквой клавишу действия;
loglevel'0'-'8' - позволяет менять уровень подробности вывода от 0 (только критические сообщения) до 8 (самый подробный режим);
Ссылки
Помимо документации к ядру, можно почитать об этом тут и здесь.
Комментариев нет:
Отправить комментарий