Показать сообщение отдельно
Старый 23.03.2011, 12:27 Вверх   #4
Профессиональный DJ
 
Аватар для SETRA
SETRA вне форума
Доп. информация
Восклицание

Клавиша SysRq это единственная прямая связь с ядром, которая работает всегда, если работает ядро, так как соответствующие комбинации напрямую перехватываются ядром и соответствующий код является частью драйвера клавиатуры. Такая связь позволяет завершить операционною систему или отмонтировать/смонтировать конкретные девайсы, тома и процессы еще до загрузки системы, даже на этапе инициализации... невероятно сложный в отладке принцип работы ядра, который заложили в него разработчики, очень стабилен и абсолютно не дает сбоев. При помощи некоторых комбинаций клавиш можно заставить систему аварийно сбросить данные на диски, перемонтировать все файловые системы в режим «только чтение», перезагрузиться или перезапустить графическую подсистему даже при зависшей системе. Сначала нужно убедиться, что использование клавиши включено: в конфигурации ядра CONFIG_MAGIC_SYSRQ должно иметь значение Y (например, в ядре, используемом в Debian по умолчанию, это так). Далее необходимо нажать и удерживать последовательно Alt и SysRq и нажать одну из командных клавиш. В графических окружениях (GNOME, KDE, ...) нажатие PrtSc/SysRq обычно приводит лишь к созданию скриншота, и последующая команда может не восприниматься ядром. Это можно обойти, если дополнительно удерживать Ctrl, т.е. полная комбинация будет Ctrl + Alt + SysRq + клавиша. Если вместо командной клавиши нажать любую другую, то на виртуальный текстовый терминал для сообщений ядра (обычно № 10) выведется несколько строчек краткой помощи по использованию. Это удобно использовать как быстрый способ убедиться, что параметр CONFIG_MAGIC_SYSRQ в загруженном ядре включен.

Для удобства выделены мнемоники, позволяющие легче запомнить сочетания клавиш.

Одновременное нажатие клавиш Alt + SysRq + (буква в одинарных кавычках)Alt + SysRq + H Help — выводит все доступные возможности SysRq, выделяя большой буквой клавишу действия;
Alt + SysRq + 0-9 loglevel0-9 — позволяет менять уровень подробности вывода от 0 (только критические сообщения) до 8 (самый подробный режим);
Alt + SysRq + B reBoot — выполняет немедленную перезагрузку системы аналогично кнопке RESET (без синхронизации и размонтирования файловых систем);
Alt + SysRq + C Crashdump — выполняет директиву kexec для перезагрузки чтобы получить сведения об ошибках;
Alt + SysRq + D holDs — показывает все блокировки, которые держат устройства или файлы;
Alt + SysRq + O powerOff — корректно выключает систему (если настроено и поддерживается, обычно это прямая команда отключения);
Alt + SysRq + S Sync — пытается синхронизировать все примонтированные файловые системы, при этом пишет в консоли «Emergency Sync». При успешно завершении выводится «Emergency Sync Complete»;
Alt + SysRq + U Unmount — пытается перемонтировать все примонтированные файловые системы в режим «только чтение»;
Alt + SysRq + T showTasks — выдаст список текущих задач и информацию о них в текущую консоль;
Alt + SysRq + N Nice — используется для того, чтобы сбросить приоритет задачи реального времени или просто с измененным приоритетом;
Alt + SysRq + W shoW-blocked-tasks — выдаст список всех непрерываемых (заблокированных, ждущих окончание ввода-вывода) задач;
Alt + SysRq + M showMem — выдаст информацию о доступной и занятой оперативной памяти, а также степени использования свопа;
Alt + SysRq + F Full — позволяет вызвать обработчик oom_kill (out-of-memory kill) для прерывания приложений, забравших слишком много памяти (может занять продолжительное время). Используйте его, если свободная память совсем истощилась, так что система не реагирует ни на какой иной ввод (курсор мыши не движется, индикаторы NumLock/CapsLock не включаются, но индикатор работы накопителя всё время включен);
Alt + SysRq + K secure access Key — убивает все программы на текущей консоли. Её следует применять для снятия зависшего X-сервера. При этом графический сервер будет остановлен и невозможно будет увидеть ввод-вывод либо пока X-сервер не перезапустится, либо пока видеорежим не будет исправлен вручную;
Alt + SysRq + R unRaw — перехватывает управление мышью и клавиатурой у Х-сервера, что полезно, если Х-сервер завис: так можно перейти в консоль, убить Х-сервер или проверить логи;
Alt + SysRq + E tErm — послать сигнал завершения работы SIGTERM всем процессам, кроме init;
Alt + SysRq + I KILL — послать сигнал немедленного завершения работы SIGKILL всем процессам, кроме init;


То есть, например, для аварийной синхронизации данных следует выполнить последовательность Alt + SysRq + S, далее Alt + SysRq + U. После этого можно жать на сброс или, что то же самое, Alt + SysRq + B.

Более правильно экстренную перезагрузку стоит проводить, зажав клавиши Alt + SysRq или Ctrl + Alt + SysRq и с интервалом в 2-3 секунды нажать последовательно: R E I S U B

unRaw (перехватить управление клавиатурой),

tErminate (послать SIGTERM всем процессам),

kIll (послать SIGKILL всем процессам, которые не смогли завершиться предыдущей командой),

Sync (синхронизировать файловые системы),

Unmount (перемонтировать файловые системы в режим «только чтение»),

reBoot. (и напоследок, совершить перезагрузку)

Последний раз редактировалось SETRA; 17.05.2011 в 16:30..
  Ответить с цитированием
Cказали cпасибо:
 
Время генерации страницы 0.05376 секунды с 10 запросами