- SysRQ или как привести в чувство «зависший» Linux
- Что делать
- Работа по SSH
- Дополнительно
- 06.10.2011 Включение системной клавиши Alt+SysRq
- Не работает Print Screen, не могу сделать скриншот
- Что можно сделать при проблемах с Print Screen
- Alt + sysrq + REISUB не перезагружает мой ноутбук
- 5 ответов
- Ubuntu 12.04 и старше
- Ubuntu 12.10 и новее
- Содержание
- Что такое SysRq?
- Почему RESIUB (O) не работает?
- 1 Как заставить sysrq вести себя так, как я хочу?
- 1.6.5 Заключение
Реально изобрести защиту от дурака, от долбоёба — невозможно
SysRQ или как привести в чувство «зависший» Linux
25.03.09 23:21 / Обновлено 06.02.14 03:18 | Версия для печати | Linux | Твики |
Не всё то Windows, что висит.
Иногда такое случается. Вот пользователь, недавно пересевший с виндуза на линукс, сидит, работает, никого не трогает. И вдруг картинка на экране превращается в статическую, окна не двигаются и не помогает даже заветное сочетание Ctrl— Alt— BkSpace, которое подсказал админ как раз на такие случаи, потому что клавиатура тоже не работает. Что делать?
Спинной мозг с виндовым опытом, подсказывают, что надо давить кнопку Reset.
Не делайте этого!
Вы можете лишиться данных, накопленных годами работы за компьютером (конечно, надо делать резервные копии, но обычный пользователь не делает их никогда, это тема для отдельной статьи) и это ещё не самое неприятное, что может случиться.
Linux только выглядит зависшим, но на деле, скорее всего, это не так. Лично я видел только один раз действительно зависший Linux (KERNEL PANIC), но у того компьютера были серьёзные проблемы с оборудованием.
Что делать
Годы, проведённые за виндузом, заставили пользователя воспринимать клавишу PrtScr/SysRq на клавиатуре как кнопочку для снятия картинки с экрана. Наиболее продвинутые пользователи знают, что сочетание Alt— PrtScr/SysRq делает картинку не всего экрана, а только активного окна. И совсем немногие знают, что PrtScr/SysRq — одна из «низкоуровневых» клавиш, для получения сигнала с которой не нужны костыли типа драйверов.
Нажмите сочетание клавиш 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
Всё-таки лень — великая вещь. Всё вышеописанное можно сделать не только находясь рядом с компьютером, но и по удалённому доступу через SSH.
Например, делаем очень небезопасную перезагрузку:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
Дополнительно
Вот список интересных сочетаний с комбинацией 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, показывает в консоли информацию о памяти |
Задаёт уровень логирования ядра и перенаправляет вывод лога на экран |
06.10.2011 Включение системной клавиши Alt+SysRq
Буквально пару дней назад писал о методе мягкой перезагрузки линукс через Alt+Sysrq+REISUB, как узнал, что у многих данная комбинация попросту не срабатывает…
Оказалось, что зависит это всего лишь от одной команды для ядра, и исправляется секудным вмешательством в конфигурацию…
Прежде всего, стоит проверить поддерживает ли ядро комбинации клавиш с сипользованием SysRq:
zcat /proc/config.gz | grep -i sysrq
Ответом должно быть – CONFIG_MAGIC_SYSRQ= y
Если при этом системная клавиша SysRq не работает, значит сама возможность отключена в настройках ядра. Проверяем, так ли это командой:
sysctl -a 2>/dev/null | grep -i sysrq
Если результат будет – kernel.sysrq = 0 , значит все именно так.
Для того, чтобы включить SysRq задаем в терминале команду:
sudo sysctl -w «kernel.sysrq=1»
…и все заработает
Ну а чтобы работало каждый раз после перезагрузки системы, необходимо добавить в файл /etc/sysctl.conf параметр
…либо, если данный параметр уже имеется в файле и равен нулю, сменить его значение на единичку.
Для однократного включения клавиши (до перезагрузки):
Источник
Не работает Print Screen, не могу сделать скриншот
Приветствую всех!
Скриншоты — неотъемлемая часть работы за компьютером, и каждому из нас иногда необходимо их делать. И совсем печально, когда Print Screen почему-то не срабатывает — хочется просто разбить клавиатуру. Однако, делу это не поможет. 👀
Можно, конечно, сфотографировать экран на телефон или фотоаппарат, однако, качество картинки будет хуже. Можно поступить еще более радикальней, как блондинка на картинке-превью слева (но это уж совсем смешно ☝).
В этой статье предложу несколько вариантов, как можно решить сию проблему более простыми и толковыми способами. Даже если у вас кнопка совсем «выдрана» с корнем и ее просто физически нет — всё равно, эта статья должна вам помочь!
Что можно сделать при проблемах с Print Screen
👉 1) Для начала проверить спец. клавиши
На некоторых клавиатурах (видел только на ПК) встречается специальная клавиша F Lock. При ее нажатии — меняется значение некоторых спец. и функциональных клавиш. Если у вас есть подобная клавиша — попробуйте отключить ее.
Клавиша F Lock (чаще всего встречается на классической клавиатуре)
📌 Что касается ноутбуков , то у них часто все эти клавиши (F1 — F12, Print Screen, Pause и пр.) имеют двойное значение, которое можно задействовать с помощью клавиши Fn (иногда Alt). Таким образом, попробуйте нажать следующее сочетание клавиш:
- Fn+Print Screen (а затем откройте Paint и проверьте, вставится ли скрин);
- Alt+Print Screen
- Win+Print Screen (работает в Windows 10/11. Экран должен на долю секунды «моргнуть» — а скрин сохраниться в каталоге «Изображения» );
- Win+Fn+Print Screen
Fn+Esc — изменяют режим работы Fn
📌 Еще один момент заключается в том, что клавиша Fn может просто не работать! Например, ее можно отключить в BIOS (проверьте ее работу с другими функциональными клавишами).
📌 Также обратите внимание , не устанавливали ли вы накануне каких-то программ, например, Яндекс-скриншоты (идет в комплекте к Яндекс-диску), OneDrive, Dropbox, Snipping tool и пр.
Дело в том, что они могут «перехватывать» создание скриншота для того, чтобы автоматически его сохранить на облачный диск. Если подобный софт есть — откройте его настройки (см. скрин ниже 👇) и отключите перехват клавиши Print Screen.
Яндекс диск — создать скриншот / Настройки
👉 2) Можно установить спец. утилиту для создания скринов
Я думаю, что со мной многие согласятся, что нажимать кнопку Print Screen, а затем открывать Paint (или другой редактор) — не всегда удобно и быстро.
Гораздо удобнее установить специальное приложение, в котором можно по одному клику создавать и сохранять скрин экрана сразу на диск (или автоматически его загружать в сеть или добавлять в редактор).
Причем, во всех программах для создания скринов (в 99%) — можно изменить кнопку для их создания! Я бы порекомендовал следующий софт: GreenShot, FastStone Capture, Snagit, PicPick, Light Shot.
Найти лучшие программы для создания скриншотов можете в моей подборке.
Light Shot горячие клавиши
👉 3) Можно переназначить одну клавишу на другую
Если в предыдущем способе мы просто назначили «горячую» клавишу для одной программы, то в этом я предлагаю более радикальный — изменить глобально для всех программ и системы Print Screen, скажем, на Shift или Home. Здесь смотрите сами, какая клавиша вам больше бы подошла взамен неработающей.
Смена происходит достаточно быстро, достаточно запустить одну из утилит: Key Remapper, KeyTweak, MapKeyboard.
MapKeyboard: всего три действия для замены клавиши
👉 4) Вызвать экранную клавиатуру
Не все знают, что в Windows есть специальный центр, с интересными инструментами: экранной лупой, экранной клавиатурой (на нее можно нажимать мышкой) и пр.
Располагается этот раздел по адресу:
Панель управления -> Специальные возможности -> Центр специальных возможностей
(чтобы открыть панель управления — нажмите Win+R , и введите команду control ) .
Панель управления — Специальные возможности — Центр специальных возможностей (Кликабельно)
Собственно, на экранной клавиатуре есть все кнопки, что и на обычной (физической). Можете кликать по нужной клавише и пользоваться ПК в обычном режиме.
Экранная клавиатура содержит все самые необходимые клавиши
👉 5) Попробовать почистить клавиатуру, если нет эффекта — заменить на новую
В большинстве случаев клавиши перестают срабатывать и начинают плохо работать из-за пыли, крошек и прочего мусора, который скапливается под ними. Почистить клавиатуру можно несколькими способами:
- просто перевернуть ее и постучать: все крошки и пыль вылетят из нее (если такое хотите сделать с ноутбуком — сначала отсоедините клавиатуру от устройства!);
- есть специальные клавиатурные пылесосы — они могут быстро собрать все лишнее под клавишами (можно использовать и обычный пылесос, кстати);
- в продаже есть специальные «лизуны» — чистильщики для клавиатур. Принцип работ у них простой: приклеиваете их к клавиатуре, они растекаются, а потом «отдираете» вместе с пылью и мусором.
Чистка пылесосом клавиатуры от крошек и пыли
Еще один «колхозный» дедовский способ чистки клавиатуры:
- снять клавиатуру (отключить от ПК);
- промыть ее в теплой воде с моющим средством (например, Fairy);
- хорошо просушить ее;
- собрать, подключить и попробовать в действии. Даже в самых печальных случаях (например, при залитии клавиатуры соком или кофе) — способ выручает! Правда, оговорюсь, все делаете на свой страх и риск, гарантий никаких не могу дать.
Если все вышеперечисленное не помогло — выход один, купить новую клавиатуру (дабы они не так уж и дорого стоят).
Можно существенно сэкономить, если заказать клавиатуру в китайском онлайн-магазине.
Источник
Alt + sysrq + REISUB не перезагружает мой ноутбук
Иногда мой ноутбук застревает, поэтому я использовал комбинацию магического ключа Alt + SysRq + REISUB , чтобы выполнить безопасная перезагрузка. Однако мне кажется, что это не работает для меня, так как когда я нажимаю клавишу B , чтобы завершить команду волшебного ключа, она просто говорит «сброс . » и ничего не делает.
Все остальные клавиши работают нормально, поскольку сбрасывают раскладку клавиатуры, убивают все задачи и т. д., но, похоже, она не перезагружается.
У меня создалось впечатление, что мой ноутбук должен перезагрузиться после того, как все волшебные клавиши были нажаты в порядке REISUB.
5 ответов
Alt + SysRq отключен, чтобы исправить ошибку. Отключение Magic-SysRq считалось самой ошибкой, и с тех пор оно было повторно включено ( # 1025467 ). Если он по-прежнему отключен для вас, вы можете снова включить его:
Ubuntu 12.04 и старше
Отредактируйте файл /etc/sysctl.conf , чтобы включить строку
Ubuntu 12.10 и новее
Начиная с Ubuntu 12.10, возможно более мелкомасштабное управление функциями Magic-SysRq. Просто отредактируйте файл /etc/sysctl.d/10-magic-sysrq.conf .
Файл хорошо документирован и сообщает вам, как включить эти функции. Текущее значение по умолчанию выбрано для целей безопасности и должно быть изменено только в том случае, если вы знаете, зачем вам это нужно (для последствий безопасности см. # 194676 ).
Клавиатура здесь проблема!
- Некоторым просто не нравятся 4-х клавишные в одно и то же время и просто перестаньте быть клавиатурой, пока вы не отпустите некоторые.
- Все клавиатуры превращаются в макет QWERTY при отправке сигнала SysRq. Это затрудняет поиск правильных команд на клавиатурах с другим макетом. Википедия: команды SysRq показывают таблицу, чтобы найти правильные для обычных альтернативных макетов.
- У некоторых есть SysRq на другой клавише, чем PrtSc , чтобы удерживать с помощью функциональной клавиши. На моем ноутбуке это Fn + End . Холдинг Alt + PrtSc работает только в том случае, если какой-либо системный процесс (оконный менеджер?) Переводит его для меня. При общем сбое работает только real SysRq !
- Только один триггер SysRq , когда вы удерживаете right Alt + PrtSc (по аппаратным средствам). Левый Alt-ключ не будет работать в таком случае по той же причине, что и выше. Так работает клавиатура USB.
Совет: попробуйте нажать Shift + Alt + SysRq , чтобы увидеть вывод справки на виртуальном терминале. Это полезно, чтобы увидеть, работает ли он, не причинив никакого вреда:
SysRq: HELP: loglevel (0-9) reBoot Crash terminate-all-tasks (E) memory-full-oom-kill (F) kill-all-tasks (I) thaw-filesystems (J) saK show- backtrace-all-active-cpus (L) show-memory-usage (M) nice-all-RT-tasks (N) power-show show-registers (P) show-all-timers (Q) unRaw Sync show-task-states (T) Unmount show-blocked-tasks (W) dump-ftrace-buffer (Z)
Во всех случаях, с которыми я столкнулся, это не сработало, замена клавиатуры отлично работала и показала, что с настройкой ядра ничего не получилось.
ATTRIBUTIONS :
https://fedoraproject.org/wiki /QA /Sysrq # How_do_I_use_the_magic_SysRq_key , который был основан на оригинальной работе
Кредиты
Написано Mydraal
Обновлено Адамом Сульмицким
Обновлено Джереми М. Долан 2001/01/28 10:15:59
Добавил (а) Crutcher Dunnavant
Содержание
Что такое sysrq?
Почему RESIUB (O) не работает?
1 Как заставить sysrq вести себя так, как я хочу?
1.1 Что такое волшебный ключ SysRq?
1.2 strong> Как включить волшебный ключ SysRq?
1.3 Как использовать волшебный ключ SysRq?
1.4 Что такое ключи команды?
1.5 Хорошо, поэтому для чего я могу их использовать?
1.6 Устранение неполадок
1.6.1 Повреждение перед запуском initscripts 1.6.2 Иногда SysRq, кажется, «застревает» после его использования, что я могу сделать?
> 1.6.3 Я попал в SysRq, но ничего не происходит, что не так?
1.6.4 Я хочу добавить ключевые события SysRQ в модуль, как это сделать это работает?
1.6.5 Заключение
1.6.6 ПРИЛОЖЕНИЕ
Примечание.
Вы можете использовать Ctrl + F , чтобы использовать Оглавление.
Что такое SysRq?
Общеизвестный и используемый метод восстановления использования машины после ее замораживания или блокировки с ограничением риска повреждения диска, приводящего к повреждению файла системы или потере данных, заключается в использовании Alt + SysRq + r , а затем s , а затем e , а затем i , а затем u , а затем b и /или при необходимости ( o )
Это не работает как ожидалось для многих (т.е. я и Джеймс) через все вкусы от> = 8.04LTS до текущей версии 13.04.
Почему RESIUB (O) не работает?
Рассмотрим это описание ошибки, найденное в Ошибка LaunchPad 194676 :
Описание проблемы:
По умолчанию SysRq включен по умолчанию в настольных системах Ubuntu, что неоценимо, когда система заблокирована, и вы хотите остановить ее как можно мягче или отладить проблему. Однако многие люди удивляются, что вы также можете попросить его сбросить содержимое текущей памяти на консоль (или dmesg), хотя и с клавиатуры.
openSUSE устанавливает битовую маску по умолчанию 176 на SysRq, которая по умолчанию ограничивает вас синхронизацией, перезагрузкой и «перестройкой только для чтения». Это останавливает людей, использующих sysrq по умолчанию для проверки памяти, которая звучит разумно.
Разработчики Ubuntu увидели необходимость что-то сделать, и наилучшим решением, учитывая возможные осложнения упомянутого наблюдения, является применение битмаски 176 sysrq по умолчанию, создавая необходимость ввода пользователем для установки sysrq по своему усмотрению. Бит-маска 176 допускает только S , U , B , которая синхронизирует, монтирует разделы монтирования и перезагружается.
Чтение полного отчета об ошибке и комментариев будет содержать некоторые варианты, которые могут быть применимы к вашей системе.
Накопительный аффект различных аппаратных средств, ядер, клавиатур и битмаксов означает, что sysrq ведет себя по-разному для разных людей.
Один из способов получения вывода txt в отношении использования вашей системы sysrq заключается в применении команд sysrq от tty (когда система не страдает от блокировок /зависаний). Это может означать, что sysrq не был полностью отключен, но использует битмаску 176.
Поиск /proc /sys /kernel /sysrq на 13.04 Desktop amd64 liveDVD и 13.04 Desktop amd64 install подтверждает, что по умолчанию в настоящее время остается sysrq в битмаске176.
Если sysrq работает для вас; может быть, стоит спросить: «Если бы я не изменил настройки 10-magic-sysrq, то кто?»
1 Как заставить sysrq вести себя так, как я хочу?
Далее следует отредактированная копия и вставка https://fedoraproject.org/wiki/QA /SysRq .
1.1 Каков магический ключ SysRq?
Это «магическая» комбинация клавиш, на которую может воздействовать ядро, независимо от того, что он делает, если он полностью не заблокирован.
1.2 Как включить волшебный ключ SysRq?
sysrq встроен в ядро Ubuntu, но отключен во время загрузки, по умолчанию, используя 10-magic-sysrq.conf.
Чтобы снова включить его во время загрузки, вам необходимо отредактировать файл /etc/sysctl.d/10-magic-sysrq.conf. т.е. раскомментирование этой строки позволит задействовать все функции sysrq:
При запуске ядра с SysRq, скомпилированным в /proc /sys /kernel /sysrq, управляют функциями, разрешенными для вызова с помощью ключа SysRq. Вот список возможных значений в /proc /sys /kernel /sysrq:
Вы можете установить значение в файле следующей командой.
Итак, чтобы полностью включить его, было бы.
Или также можно активировать его.
Примечание.
Значение /proc /sys /kernel /sysrq влияет только на вызов с помощью клавиатуры. Вызов любой операции через /proc /sysrq-trigger всегда разрешен (пользователем с правами администратора — см. Ниже).
1.3 Как использовать волшебный ключ SysRq?
Рабочий стол Ubuntu
Вы нажимаете клавишу командной строки Alt + SysRq + .
N.B .- См. примечания в этом разделе и раздел «Устранение неполадок» для других возможных настроек по умолчанию для других систем и клавиатур.
Можно выбрать любой персонаж по вашему выбору: Все архитектуры
Запись символа в /proc /sysrq-trigger:
установит T как SysRq
Примечание.
На некоторых клавиатурах может отсутствовать ключ с надписью SysRq . Ключ SysRq также известен как клавиша Print Screen . Также некоторые клавиатуры не могут обрабатывать так много клавиш одновременно, поэтому вам может быть повезло с Alt + SysRq — SysRq , затем нажмите , затем отпустите все. См. Полную запись QA, в которой данное руководство основано на https://fedoraproject.org/wiki /QA/Sysrq#How_do_I_use_the_magic_SysRq_key.3F для получения дополнительной информации об этом.
1.4. Каковы ключи команды?
Примечание.
См. Важные комментарии ниже в разделе SAK.
1.5 Хорошо, так что я могу использовать для них?
Un r aw очень удобно, когда сбой вашего X-сервера или программы svgalib.
Sa k (Secure Access Key) полезен, если вы хотите быть уверенным, что на консоли нет троянской программы, которая могла бы захватить ваш пароль, когда вы попытаетесь войти в систему. Он убьет все программы на данной консоли, что позволит вам убедиться, что приглашение входа в систему, которое вы видите, на самом деле является одним из init, а не какой-либо троянской программой. Другие считают это полезным как (System Attention Key), который полезен, когда вы хотите выйти из программы, которая не позволит вам переключать консоли. (Например, X или программа svgalib.)
Примечание.
В своей истинной форме это не настоящий SAK, как тот, который соответствует системе, совместимой с c2, и ее не следует воспринимать как таковую.
Re b oot хорошо, когда выне удалось закрыть.
Примечание.
Обычно считается хорошей практикой для u mount
Crashdump может использоваться для ручного запуска rashdump c при зависании системы.
Примечание.
Ядро должно быть построено с включенным CONFIG_KEXEC!
Sync отлично работает, когда ваша система заблокирована, она позволяет вам s ync ваши диски и, конечно же, уменьшит вероятность потери данных и fscking.
Предупреждение
Синхронизация не состоялась до тех пор, пока вы не увидите «OK» и «Готово» на экране. (Если ядро действительно в беспорядке, вы, возможно, никогда не получите сообщение «ОК» или «Готово».
U mount в основном полезен тем же способом, что и S ync.
Лог-уровни 0 — 9 полезны, когда ваша консоль заливается сообщениями ядра, которые вы не хотите видеть. Выбор 0 предотвратит доступ всех ваших сообщений, кроме самых срочных, к вашей консоли.
Примечание.
Они будут по-прежнему регистрироваться, если syslogd /klogd являются живыми
T e rm и k i ll полезны, если у вас есть какой-то безудержный процесс, который вы не можете убить другим способом, особенно если он порождает другие процессы.
Примечание.
Когда вы испытываете плохую панику ядра, Alt + Sysrq + e , затем Alt + Sysrq + u , затем Alt + Sysrq + i и, наконец, Alt + SYSRQ + б
1.6 Устранение неполадок
1.6.1 Зависание перед вызовом initscripts
Если машина висит до запуска initscripts, загрузитесь с помощью sysrq_always_enabled=1
1.6.2 Иногда SysRq, кажется, «застревает» после его использования, что я могу сделать?
Нажатие shift , alt и control с обеих сторон клавиатуры, и повторное попадание неверной последовательности sysrq устранит проблему. (т. е. что-то вроде alt + sysrq + z ).
Переключение на другую виртуальную консоль ( Ctrl + Alt + Fn1 — Fn6 ), а затем обратно Ctrl + Alt + Fn7 также должен помочь.
1.6.3 Я попал в SysRq , но ничего не происходит, что не так?
Есть несколько клавиатур, которые отправляют разные scancodes для SysRq , чем предопределенные 0x54. Поэтому, если SysRq не работает из коробки для определенной клавиатуры, запустите showkey -s , чтобы узнать правильная последовательность сканкода. Затем используйте setkeycodes 84 , чтобы определить эту последовательность в обычном коде SysRq (84 является десятичным для 0x54). Вероятно, лучше всего поставить эту команду в сценарий загрузки.
Предупреждение
Вы выходите из showkey , не набрав ничего за десять секунд.
1.6.4 Я хочу добавить к модулю ключевые события SysRq , как это работает?
Чтобы зарегистрировать базовую функцию в таблице, вы должны сначала включить заголовок include/linux/sysrq.h , это определит все, что вам нужно , Затем вы должны создать структуру sysrq_key_op и заполнить ее .
Функция ключевого обработчика, которую вы будете использовать.
Строка help_msg, которая будет печататься, когда SysRQ распечатает справку
Строка action_msg, которая будет печататься прямо перед вашим обработчиком называется. Ваш обработчик должен соответствовать прототипу в ‘sysrq.h’
После создания sysrq_key_op вы можете вызвать функцию ядра register_sysrq_key (int key, struct sysrq_key_op * op_p); это зарегистрирует операцию, на которую указывает «op_p», при нажатии клавиши «ключ», если этот слот в таблице пуст. При выгрузке модуля вы должны вызвать функцию unregister_sysrq_key (int key, struct sysrq_key_op * op_p), которая удалит ключ op, на который указывает «op_p» из ключа «key», если и только если он в настоящее время зарегистрирован в этом слот.Это происходит, если слот был перезаписан с момента его регистрации.
Система Magic SysRq работает, регистрируя операции ключа с ключевой операцией поиска, которая определена в «drivers /char /sysrq.c». Эта таблица ключей имеет множество операций, зарегистрированных во время компиляции, но изменена, и две функции экспортируются для интерфейса с ним: register_sysrq_key и unregister_sysrq_key. Конечно, никогда не оставляйте недопустимый указатель в таблице. то есть; когда ваш модуль, вызывающий register_sysrq_key (), выйдет, он должен вызвать unregister_sysrq_key (), чтобы очистить запись таблицы ключей sysrq, которую он использовал.
Примечание.
Нулевые указатели в таблице всегда безопасны.
Если по какой-то причине вам кажется, что нужно вызвать функцию handle_sysrq из функции, вызванной handle_sysrq, вы должны знать, что вы находитесь в блокировке (вы также находитесь в обработчике прерываний, а это значит, что вы не спите! ), поэтому вместо этого вы должны вызвать __handle_sysrq_nolock.
1.6.5 Заключение
Используйте Alt + SysRq + S , а затем U , а затем B для синхронизации, попытайтесь перемонтировать все смонтированные файловые системы, а затем при необходимости перезагрузите компьютер. Не меняя вещи на системные файлы.
Если Alt + SysRq + B не перезагружает систему, возможно, потребуется отредактировать файл /etc/sysctl.d/10-magic-sysrq. conf, чтобы разрешить попытку применения Alt + SysRq + B (или /и O после редактирования /proc /sys /kernel /sysrq, чтобы включить перезагрузку и завершение работы системы с помощью sysrq. Вы можете сделать это с помощью любого из описанных выше способов.
Относительная интересная информация После просмотра 17 08 2013 эпизода программы BBC « Нажмите », и статья« cyberwarfare »действительно привлекла мое внимание. Программа также имеет свой собственный веб-сайт Нажмите , если вы не можете смотреть программу. FAWC
Я столкнулся с этим на днях, и на работу ушло несколько секунд. Возможно, я даже выполнил всю последовательность REISUB дважды.
Кроме того, убедитесь, что вы используете ключ sysrq (большинство ноутбуков потребуют удержания функции, поэтому вы действительно удерживаете 4 клавиши одновременно)
Несколько лет назад я использовал Alt + SysRq + S , U , B , O для перезагрузки или отключить застрявшую машину, так как для вас, Alt + SysRq + B иногда не хотел работать.
(Кроме того, мне нужно привыкнуть использовать Alt + SysRq + E , I Я не вижу большого смысла использовать Alt + SysRq + R , так как почему режим клавиатуры имеет значение, если он перезагружается и перезагрузите его?)
Источник