Безопасная перезагрузка Linux с помощью ключа Magic SysRq

Мы предоставляем услуги удаленного администрирования серверов

Безопасная перезагрузка Linux с помощью ключа Magic SysRq

Поделиться

Если вы работаете над разработкой ядра, драйверами устройств или работаете с кодом, который может вызвать панику ядра, ключ SysRq будет очень полезен. Magic SysRq — это комбинация клавиш в ядре Linux, которая позволяет пользователю выполнять различные команды низкого уровня независимо от состояния системы.

Он часто используется для восстановления после зависаний или для перезагрузки компьютера без повреждения файловой системы. Комбинация клавиш состоит из Alt + SysRq + commandkey . Во многих системах ключ SysRq является ключом экрана печати.

Во-первых, вам нужно включить ключ SysRq , как показано ниже.

echo "1" > /proc/sys/kernel/sysrq

Список командных клавиш SysRq

Ниже приведены клавиши управления, доступные для Alt + SysRq + commandkey .

  • ‘k’ — убивает весь процесс, запущенный на текущей виртуальной консоли.
  • ‘s’ — это попытается синхронизировать всю смонтированную файловую систему.
  • ‘b’ — немедленная перезагрузка системы, без размонтирования разделов или синхронизации.
  • ‘e’ — отправляет SIGTERM всем процессам, кроме init.
  • ‘m’ — вывод текущей информации о памяти на консоль.
  • ‘i’ — отправить сигнал SIGKILL всем процессам, кроме init
  • ‘r’ — переключить клавиатуру из необработанного режима (режим, используемый такими программами, как X11) в режим XLATE.
  • ‘s’ — синхронизировать всю смонтированную файловую систему.
  • ‘t’ — Вывести список текущих задач и их информацию на консоль.
  • ‘u’ — перемонтировать все смонтированные файловые системы в режиме только для чтения.
  • ‘o’ — немедленно выключить систему.
  • ‘p’ — выводит текущие регистры и флаги на консоль.
  • ‘0-9’ — устанавливает уровень журнала консоли, определяющий, какие сообщения ядра будут выводиться на вашу консоль.
  • ‘f’ — вызовет oom_kill для уничтожения процесса, который занимает больше памяти.
  • ‘h’ — используется для отображения справки. Но любые другие ключи, кроме перечисленных выше, выведут справку

Мы также можем сделать это, повторив ключи в файле /proc/sysrq-trigger . Например, для перезагрузки системы вы можете выполнить следующее.

echo "b" > /proc/sysrq-trigger

Выполните безопасную перезагрузку Linux с помощью ключа Magic SysRq

Чтобы выполнить безопасную перезагрузку компьютера с Linux, который зависает, выполните следующие действия. Это позволит избежать fsck во время следующей перезагрузки. т.е. нажмите Alt + SysRq + буква, выделенная ниже.

  • un R aw (вернуть контроль над клавиатурой с X11,
  • E rminate (отправьте SIGTERM всем процессам, позволяя им завершить работу корректно),
  • k Ill (отправить SIGILL всем процессам, заставив их немедленно завершить работу),
  • S ync (сброс данных на диск),
  • U nmount (перемонтировать все файловые системы только для чтения),
  • Re B oot.
 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte