О сочетании SysRQ с CTRL

О сочетании SysRQ с CTRL

О сочетании SysRQ с CTRL — казалоь бы, что это и зачем об этом писать? Но в буднях рядового пользователя либо администратора Linux, может наступить тот самый отвратительный момент — авария на сервере. В этом случае знание о сочетании sysrq с ctrl может помочь. Предыдущих статьях я рассказывал о strace и ltrace, которые могут помочь в поиске проблем с программами и библиотеками, но они не помогут в случае если система перестает отвечать. В данной статье и пойдет речь об этом случае.

Немного о сочетании SysRQ с CTRL

Пока не забыл, сразу напишу, что на некоторых клавиатурах вы можете не найти клавишу SysRQ, но это лишь иллюзия, потому что это клавиша PrtintScreen (PrtSC), которую мы часто любим использовать для создания скриншотов.

О сочетании SysRQ с CTRL

О сочетании SysRQ с CTRL

Теперь перейдем к сочетаниям и назначению. Итак, представим, что компьютер у вас погрузился в состояние транса, и не отвечает как тому подобает на запросы, но при этом у вас есть доступ на консоль, либо сохранился мало мальски отвечающий на ваши запросы сеанс SSH. Тогда приступаем: нажмите сочетание клавиш Alt-PrtScr/SysRq (в графике надо добавлять ещё и Ctrl, то есть нажимать Ctrl-Alt-PrtScr/SysRq) и, удерживая их, жмите на клавиатуре: R E I S U B. Между нажатиями кнопок делайте паузу, чтобы предыдущая команда успела завершиться.
Работая из «зависшей» графики делайте большую паузу.

Теперь было бы неплохо понять, что мы наколдовали тем самым..

Alt-PrtScr/SysRq-R — отберёт управление клавиатурой у графики Linux и заставит её работать напрямую с системой. По сути — вернёт управление клавиатурой.
Alt-PrtScr/SysRq-E — пошлёт сигнал завершения всем запущеным процессам, кроме init. То есть, все пользовательские процессы постараются завершиться в штатном режиме.
Alt-PrtScr/SysRq-I — пошлёт сигнал уничтожения всем запущенным процессам, кроме init. Теперь процессы, включая те, чьё нормальное завершение невозможно — уничтожатся.
Alt-PrtScr/SysRq-S — синхронизирует диски, что уменьшает риски повреждения данных от сбоя.
Alt-PrtScr/SysRq-U — отмонтирует все файловые системы.
Alt-PrtScr/SysRq-B — перезагрузит систему.

Немного об использовании по SSH.. Делаем очень небезопасную перезагрузку:

Дополнительная информация о сочетании SysRQ с CTRL

Вот список интересных сочетаний с комбинацией Alt-PrtScr/SysRq:
R — UnRaw, выключает режим RAW клавиатуры, что позволяет её использование без системы X-Window
K — Secure Access Key, убивает все программы в текущей виртуальной консоли. Полезно, когда могут работать программы, способные украсть пароль или работают процессы, мешающие переключить консоль
E — SIGTERM, завершает все запущенные процессы, кроме init
I — SIGKILL, уничтожает все запущенные процессы, кроме init
L — kiLl, уничтожает вообще все запущенные процессы
B — reBoot, немедленно перезагружает компьютер
S — Sync, синхронизирует диски
U — Umount, отмонтирует все файловые системы
O — tirn Off, немедленно выключает компьютер
P — PС, выгружает регистры и указатели в консоль
T — Tasks, показывает в консоли список всех процессов
M — Memory, показывает в консоли информацию о памяти
[0-9] — Задаёт уровень логирования ядра и перенаправляет вывод лога на экран

Иногда, для того, чтобы включить поддержку сочетания этих клавиш может понадобится внести некоторые настройки.. Рассмотрим их.

Начнем с проверки (результат должен быть: CONFIG_MAGIC_SYSRQ=y):

Далее проверяем настройки ядра:

Если увидим, что параметер равен «0», то понадобится его включить:

либо сделать это перманентно через файл: /etc/sysctl.conf. Для однократного включения достаточно выполнить:

На этом статья о сочетании SysRQ с CTRL закончена, и надеюсь что она поможет вам в обслуживании серверов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *