Восстановление от зависаний, которые оставляют вас без терминального доступа
Если система не отвечает, и вы не можете выполнить команды восстановления, единственное, что вы можете сделать, это перезагрузить компьютер. Как правило, вы хотите избежать ручного включения питания. Для подобных ситуаций в ядре Linux есть поддержка Magic SysRq, которую можно использовать для перезагрузки машины в чрезвычайной ситуации.
Пока CONFIG_MAGIC_SYSRQ
опция включена в конфигурации ядра, аkernel.sysrq
sysctl
опция включена, вы можете выдавать команды непосредственно ядру с помощью волшебных комбинаций клавиш SysRq:
Обратите внимание, что Alt+ SysRqниже означает, что нажмите и удерживайте Alt , затем нажмите и удерживайте SysRq (обычно это PrintScrnклавиша).
- Alt+ SysRq+ r: восстановить контроль над клавиатурой
- Alt+ SysRq+ e: отправить
SIGTERM
всем процессам, кроме init
, давая им возможность завершить изящно
- Alt+ SysRq+ i: отправить
SIGKILL
всем процессам, кроме init
, заставляя их завершить
- Alt+ SysRq+ s: попытка синхронизации всех смонтированных файловых систем
- Alt+ SysRq+ u: перемонтировать всю файловую систему только для чтения
Alt+ SysRq+ b: перезагрузка или
Alt+ SysRq+ o: выключение
Мнемоника магических комбинаций клавиш SysRq для попытки постепенной перезагрузки:
" R Eboot Е VEN Я F S ystem U tterly В Roke "
Для безголовых серверов существует даже цель iptables, позволяющая удаленные последовательности SysRq по сети.