System Request в Linux

Повисла машина? В целом есть шанс что-то спасти...

В Linux существует особый механизм управления системой - System Request (или SysRq).
Способ взаимодействия с ядром Linux, позволяющий выполнять критические операции в экстренных ситуациях. Он работает напрямую с ядром, минуя обычные пути управления системой.
Статус режима SysRq отображается в файле /proc/sys/kernel/sysrq
cat /proc/sys/kernel/sysrq
0 - выключен
1 - включен
16 - разрешена команда синхронизации
32 - разрешена команда перемонтировать файловые системы в ro
128 - разрешены перезагрузка и отключение питания
176 - сумма трёх разрешений 16 + 32 + 128
Меняем статус отправляем соответствующую цифру в файл
echo '1' > /proc/sys/kernel/sysrq
⚠️ Перед выполнением убедитесь, что клавиатура захвачена консолью, иначе SysRq выполнится на рабочей станции

Основные комбинации клавиш SysRq (Print Screen):

Alt + SysRq + hпоказывает список всех доступных команд
Alt + SysRq + sсинхронизирует файловые системы
Alt + SysRq + u переводит файловые системы в режим только для чтения (ro)
Alt + SysRq + bперезагружает систему
Alt + SysRq + r разблокирует клавиатуру
Alt + SysRq + e отправка сигнала завершения процессам
Alt + SysRq + i принудительное завершение процессов

⚠️ Используйте System Request только в случае крайней необходимости, чтобы избежать потери данных, так как системы защиты в данном случае не предусмотрено.

Последовательность действий при зависании системы

Alt + SysRq + r - разблокирует клавиатуру
Alt + SysRq + e - отправка сигнала завершения процессам
Alt + SysRq + i - принудительное завершение процессов
Alt + SysRq + s - синхронизирует файловые системы
Alt + SysRq + u - переводит файловые системы в режим только для чтения
Alt + SysRq + b - перезагружает систему
Подпишись на Linux Spark поддержи канал