В чем разница между волшебным сбросом REISUB и удержанием клавиши питания?

По поиску я обнаружил, что каждая буква означает следующее:

unRaw      (take control of keyboard back from X),
 tErminate (send SIGTERM to all processes, allowing them to terminate gracefully),
 kIll      (send SIGKILL to all processes, forcing them to terminate immediately),
  Sync     (flush data to disk),
  Unmount  (remount all filesystems read-only),
reBoot.

Так что, если то, что делает B, - это перезагрузка, то какая разница от удержания клавиши питания.

И каково значение других букв (я не понимаю термины).

1 ответ

Решение

Я попытаюсь объяснить это в понятной форме, но это не обязательно будет на 100% полным или на 100% правильным.

  • R - переключить режим клавиатуры

    Говорят, что это "переключение клавиатуры из необработанного режима, режима, используемого программами, такими как X11 и svgalib, в режим XLATE" (из Википедии), но я не знаю, будет ли это обычно иметь какой-либо заметный эффект.

  • E - изящно завершить все запущенные программы

    Это отправляет сигнал SIGTERM всем процессам, кроме init и тем самым просит их грациозно завершить работу, давая им возможность привести в порядок и освободить свои ресурсы, сохранить данные и т. д.

  • Я - принудительно убиваю все запущенные программы

    Это похоже на E, но отправляет сигнал SIGKILL всем процессам, кроме init, который убивает их немедленно и насильно.

  • S - синхронизировать все диски и очистить их кэш

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

  • U - размонтировать все диски и перемонтировать их только для чтения

    Это опять-таки довольно неприлично, просто делает все подключенные диски доступными только для чтения, чтобы предотвратить дальнейшую (частичную) запись.

  • B - перезагрузить систему

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

Тем не мение...

В Ubuntu эти SysRq обычно маскируются и частично отключаются. Только синхронизация, перемонтирование только для чтения и выключение / перезагрузка включены.

Это контролируется файлом интерфейса ядра /proc/sys/kernel/sysrq, который содержит десятичное представление битовой маски разрешенных действий SysRq. По умолчанию Ubuntu - 176. В этом ответе вы найдете множество дополнительных объяснений и материалов.

Так что на самом деле вы также можете просто Alt + SysRq + { S | U | B }

Другие вопросы по тегам