Вопрос: Как используется ключ SysRq в системе Linux?


Я понимаю, что Ключ SysRq может использоваться для выполнения низкоуровневых системных команд на аварийном сервере Linux.

Может кто-нибудь объяснить, как использовать эту функцию, независимо от того, работает ли она удаленно через ssh или окно консоли vmware, и что-нибудь еще, что может быть использовано для (помимо перезагрузки разбитой системы)?


6
2018-05-22 22:30


Источник




Ответы:


Команды ключей SysRq выдаются путем удержания Alt+SysRq и набрав любую комбинацию клавиш. Наиболее распространенная комбинация, о которой я знаю, Alt+SysRq+RSEIUB:

  • р - Переключите клавиатуру из режима raw
  • S - Синхронизация всех смонтированных файловых систем
  • Е - Отправлять сигнал SIGTERM ко всем процессам, кроме init
  • я - отправить сигнал SIGKILL всем процессам, кроме init
  • U - Перемонтируйте все смонтированные файловые системы в режиме только для чтения
  • В - Немедленно перезагрузите систему, не размонтируя разделы или синхронизируя

На странице wikipedia есть дополнительная информация о различных ключах и о том, что они делают.

Чтобы ответить на оставшийся ваш вопрос, да, он работает удаленно (если у вас все еще есть связь с системой) и в консоли VMWare. Пока ядро ​​читает нажатия клавиш, SysRq входы будут считаться и действовать. (Он эффективно посылает команды непосредственно ядру, минуя остальную часть системы)


4
2018-05-22 22:39



en.wikipedia.org/wiki/Reisub - Ian Kelling


Вы можете запустить alt-sysrq- / (alt-sysrq-? Со сдвигом неважно), чтобы получить список доступных команд. Новые добавляются все время. Большинство из них опасны.

Для запуска alt-sysrq-T вы также можете «эхо T> / proc / sysrq-trigger» или на последовательной консоли break-T.

Некоторые дистрибутивы Linux поставляются с отключенным магическим sysrq как ошибочной мерой безопасности. Вы увидите «kernel.sysrq = 0» в файле /etc/sysctl.conf. Измените это на "kernel.sysrq = 1" и запустите "sysctl -p". Вы должны всегда проверять это на новой системе Linux, прежде чем запускать зависание, из-за чего вы хотите, чтобы магия sysrq работала.


2
2018-05-23 03:14





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

Обычно sysrq не работает, когда X запущен. Если ctrl + alt + fX не работает, вы можете попробовать отправить «R» перед ним. Если неудачно, иногда «saK» с «K» фиксирует вещи; Он убивает все процессы в текущем уровне выполнения, включая X-сервер. Затем вы можете попробовать другие команды sysrq. После saK на X-сервер вы можете даже войти в систему с tty, если система все еще работает.

И иногда, когда глупый процесс замораживает загрузку, когда ctrl + C, ctrl + Z или ctrl + alt + del ничего не делают, «E», за которым следует ctrl + alt + del, можно выполнить безопасную и обычную перезагрузку.

Команда «T» печатает трассировку, чтобы вы могли проверить, какие процессы или функции вызывают проблемы.

См. Alt команд, нажав alt + sysrq + H


2
2018-05-23 22:37