Содержание
Посмотрите на вашу клавиатуру. Взгляните на верхний правый угол рядом с конопками PageUp и Home есть кнопка с названием SysRq у нее также есть еще оно название - PrintScreen. Но что это за кнопка и зачем она нужна? SysRq - это сокращение от System Request или по нашему - системный запрос. Однако это не пролило свет на назначение этой клавиши. Для того чтобы все понять давайте посмотрим на историю развития вычислительной техники.
Это было не так давно, тогда когда компьютеры использовались не так широко, а единственным цветом экрана был зеленый или апельсиновый. Шел 1984 год, состоялся релиз IBM PC/AT. Клавиатура XT состояла из 83 клавиш, но в новой AT было 84. Была добавлена одна кнопка и это SysRq.
Нажатие на клавишу SysRq вызывало выполнение специального BIOS прерывания. Изначально она была предназначена для запуска нескольких ОС на одном ПК.
Вернемся в наше время. Операционные системы уже научились делать множество вещей самостоятельно, начали переопределять стандартные таблицы прерываний, и клавиша SysRq перестала использоваться. Однако проведывание реализированное десятилетия назад все еще поддерживается BIOS большинства компьютеров.
Первоначальная цель кнопки SysRq уже давно не актуальна. Но некоторые операционные системы по прежнему используют ее для своих целей. Например в Linux SysRq используется в комбинации клавиш для реализации механизма магических сочетаний клавиш SysRq.
Ядро Linux способно прослушивать и обрабатывать несколько команд, которые вызываются через клавишу SysRq. Это прямой путь обращения к ядру, поэтому неправильное его использование может быть опасным.
Если система полностью зависла, но ядро все еще работает то эти низкоуровневые инструменты могут быть очень полезными.
Функции магических сочетаний клавиш поддерживается во всех ядрах новее 2.6.12. Но ядро должно быть скомпилировано с поддержкой SysRq, обычно эта опция включена по умолчанию.
Проверить состояние SysRq можно с помощью команды:
cat /proc/sys/kernel/sysrq
Если отключена, то нужно включить. Для временного включения, будет отключена после перезагрузки, выполните:
echo “1” > /proc/sys/kernel/sysrq
или:
sudo sysctl -w kernel.sysrq=“1”
А для постоянного включения нужно добавить, следующую строчку в /etc/sysctl.conf:
$ nano /etc/sysctl.conf
kernel.sysrq =1”
Для активации магического сочетания клавиш используется три клавиши Alt + SysRq + буква команды. Если вы в графической системе переключитесь в режим терминала и выполните свою первую SysRq команду - Alt+SysRq+h. После этого будет выведена справка по доступным командам.
Первые две команды обрушивают систему. Используйте их только в крайних случаях, и только если знаете что делаете.
Если система полностью зависла и вообще не отвечает, невозможно даже перейти в терминал с помощью сочетания клавиш Ctrl+Alt+F1, но ядро работает, можно попытаться перезагрузить компьютер с помощью SysRq. Но не спешите выполнять команду B. Сначала нажмите Alt+SysRq+R чтобы вернуть управление клавиатурой в случае сбоя Х сервера. Затем последовательно с задержкой в секунду Alt+SysRq+E и Alt+SysRq+I. Затем U и S для синхронизации файловых систем и дисков. И аж тогда B. Получиться вот такая комбинация R E I U S B.
Команду Alt+SysRq+K которая уничтожает все процессы в текущей консоли можно использовать чтобы убедиться что приглашение ввода логина и пароля никакой не троян.
Если компьютер завис из-за того что один из процессов занял всю оперативную память используйте Alt+SysRq+F для запуска процесса очистки памяти.
Автор: Юрий Герук
Лицензия: CC BY-SA 4.0
Благодарность автору!