Главная » Ядро Linux » Магическая клавиша SysRq

0

Использование магической клавиши SysRq, которую можно активизировать с помощью конфигурационного параметра CONFIG_MAGIC_SYSRQ на этапе компиляции, часто позволяет значительно  облегчить жизнь.  Клавиша  SysRq является  стандартной на многих клавиатурах. Для аппаратных платформ i386   и РРС ей соответствует комбинация клавиш ALT-PrintScreen . Если указанный конфигурационный параметр активизирован, то  специальные комбинации клавиш позволяют взаимодейство-

вать с ядром независимо от того, чем ядро в данный момент нанимается. Это в свою очередь позволяет выполнять некоторые полезные операции даже на неработоспособной системе.

В дополнение  к конфигурационному  параметру существует вызов  sysct l  для включения и выключения этого свойства.

echo 1 > /proc/sys/kernel/sysrq

Список возможных комбинаций клавиш можно получить с консоли путем нажатия комбинации клавиш  SysRq-h .  Комбинация клавиш SysRqs   выполняет синхронизацию не сохраненных буферов файловых систем на диск, комбинация SysRq-u размонтирует все файлопые  системы,  a SysRq-b —  перегружает машину. Последовательное использование этих комбинаций клавиш позволяет более безопасно перегрузить машину,  которая зависла, чем простое нажатие кнопки  reset .

Если машина заблокирована очень сильно, то она может не отвечать на магические комбинации  клавиш  SysRq, или соответствующая операция не будет выполнена. Если же повезет, то эти комбинации клавиш смогут помочь при отладке, а также сохранить данные. В табл. 18.2 приведен список поддерживаемых команд SysRq.

Таблица 18.2 . Список поддерживаемых команд SysR q

Команда                 Описание

SysRq-b SysRq-e SysRq-h SysRq-i SysRq-k

i

SysRq-l SysRq-m SysRq-o SysRq-p SysRq-r SysRq-s

SysRq-t

SysRq-u

Перегрузить машину (reboot)

Послать сигнал SIGTER M всем процессам, кроме процесса i n i t

Отобразить на консоли помощь по использованию комбинаций клавиш SysRq

Послать сигнал SIGKIL L всем процессам, кроме процесса ini t

Клавиша безопасного доступа: завершить все процессы, связанные с текущей консолью

Послать сигнал SIGKIL L всем процессам, включая процесс ini t Отобразить на консоли дамп информации по использованию памяти Завершить работу машины (shutdown)

Отобразить на консоли дамп регистров памяти

Отключить прямой режим работы клавиатуры (raw mode)

Синхронизировать данные смонтированных файловых систем с дисковыми устройствами

Отобразить на консоли дамп информации о заданиях

Размонтировать все смонтированные файловые системы

В файле  Documentation/sysrq.txt ,  который  находится  в каталоге  исходных кодов ядра, приводится более полное описание. Реализация поддержки магической комбинации  клавиш  находится в файле drivers/char/sysrq.с . Магические комбинации клавиш SysRq —  жизненно необходимый инструмент, который помогает в отладке и сохранении "гибнущей" системы, так как предоставляет большие возможности для любого пользователя при работе с консолью. Тем не менее необходимо соблюдать осторожность при его использовании на критичных машинах. Если же машина используется для разработок, то польза от этих команд огромная.

Источник: Лав,  Роберт. Разработка ядра  Linux, 2-е  издание. : Пер.  с англ.  — М.  : ООО  «И.Д.  Вильяме» 2006. — 448 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии