# Волшебная клавиша SysRq / Printscreen

Источник: https://blog.xsk.in/it/volshebnaya-klavisha-sysrq-printscreen/127/
Опубликовано: 2013-03-28 · Рубрики: IT, Linux


**Интро**
Когда Линукс намертво вешается, есть возможность проводить прямые работы над ядром. Манипуляции эти проводятся с помощью клавиши SysRq, которая работает всегда. При помощи некоторых комбинаций клавиш можно заставить систему аварийно сбросить данные на диски, размонтировать все файловые системы в режим "только-чтение" и перезагрузиться даже при наглухо зависшей системе.

**Как ей пользоваться?**
Сначала нужно убедиться, что она включена: в конфиге ядра CONFIG\_MAGIC\_SYSRQ должно иметь значение Y (по крайней мере в дефолтном ядре Дебиана это так). Дальше применение такое: нажимаем и держим ALT, нажимаем SysRq, отпускаем всё и нажимаем одну из "командных" клавиш - ниже их краткое описание.

**Командные клавиши**
Ниже перечислены наиболее полезные клавиши, которые могут пригодиться для тех, кто проводит бесчеловечные эксперименты над системой или устанавливает проприетарные драйвера. Чтобы их легче было запомнить, будет написано слово, в котором эта буква есть по смыслу. Всё сказанное ниже актуально по крайней мере для ядер 2.6.20 и выше.

Одновременное нажатие клавиш <span style="text-decoration: underline;">Alt + SysRq + </span>
'<span style="color: #0000ff;">H'</span>elp - выводит все доступные возможности SysRq, выделяя большой буквой клавишу действия;

loglevel'<span style="color: #0000ff;">0</span>'-'<span style="color: #0000ff;">8</span>' - позволяет менять уровень подробности вывода от 0 (только критические сообщения) до 8 (самый подробный режим);

re'<span style="color: #0000ff;">B</span>'oot - немедленная перезагрузка системы, прямо как клавиша RESET (без синхронизации и размонтирования файловых систем);

'<span style="color: #0000ff;">C</span>'rashdump - выполняет директиву kexec для перезагрузки, чтобы получить сведения об ошибках;

hol'<span style="color: #0000ff;">D</span>'s - показывает все блокировки, которые держат устройства или файлы;

power'<span style="color: #0000ff;">O</span>'ff - корректно выключает систему (если настроено и поддерживается, обычно это прямая команда отключения);

'<span style="color: #0000ff;">S</span>'ync - пытается синхронизировать все примонтированные файловые системы, при этом пишет в консоли "Emergency Remount R/O" - когда этот процесс закончится, должно написать "Emergency Remount Complete";

'<span style="color: #0000ff;">U</span>'nmount - пытается перемонтировать все примонтированные файловые системы в режим "только-чтение";

show'<span style="color: #0000ff;">T</span>'asks - выдаст список текущих задач и информацию о них в текущую консоль;

'<span style="color: #0000ff;">N</span>'ice - используется для того, чтобы сделать задачи реального времени с изменяемым приоритетом;

sho'<span style="color: #0000ff;">W</span>'-blocked-tasks - выдаст список всех непрерываемых (заблокированных, ждущих окончание ввода-вывода) задач;

show'<span style="color: #0000ff;">M</span>'em - выдаст информацию о доступной и занятой оперативной памяти, а так же степени использования своп-файла;

'<span style="color: #0000ff;">F</span>'ull - вызвать oom\_kill (out-of-memory kill) для прерывания приложений, забравших слишком много памяти (может занять продолжительное время);

secure acces '<span style="color: #0000ff;">K</span>'ey - убивает все программы на текущей консоли, но не применяйте её на консоли, где запущены иксы (графический сервер будет остановлен и вы не сможете увидеть то, что печатаете и то, что ответит SysRq);

un'<span style="color: #0000ff;">R</span>'aw - забирает контроль над мышью и клавиатурой у Х-сервера, что полезно, если Х-севрвер завис: так можно перейти в консоль, убить Х-сервер или проверить логи;

t'<span style="color: #0000ff;">E</span>'rm - послать сигнал завершения работы SIGTERM всем процессам, кроме init.

K'<span style="color: #0000ff;">I</span>'LL - послать сигнал немедленного завершения работы SIGKILL всем процессам, кроме init.

**Аутро**
То есть, например, для аварийной синхронизации данных жмём <span style="text-decoration: underline;">ALT+SysRq + s</span>, далее <span style="text-decoration: underline;">ALT+SysRq + u</span> и после этого можно жать на ресет или, что тоже самое <span style="text-decoration: underline;">ALT+SysRq+b</span>.

*Ссылки*:

- [http://mydebianblog.blogspot.com/2007/07/sysrq-printscreen.html](http://mydebianblog.blogspot.com/2007/07/sysrq-printscreen.html)

