Начална » как да » Използвайте Magic SysRq Key на Linux, за да коригирате замразени X сървъри, чисто рестартиране и изпълнете други команди от ниско ниво

    Използвайте Magic SysRq Key на Linux, за да коригирате замразени X сървъри, чисто рестартиране и изпълнете други команди от ниско ниво

    В Linux магическият SysRq ключ може да изпраща команди директно към ядрото на Linux. Можете да го използвате, за да се възстановите от замръзване или чисто рестартирайте системата, дори ако изглежда, че нищо не отговаря.

    Магическият ключ на SysRq се реализира като част от драйвера за клавиатурата на Linux - той ще работи докато ядрото на Linux все още работи. Само паника на ядрото трябва да деактивира тази клавишна комбинация.

    Кредит за изображението: solylunafamilia на Flickr

    Използване на Magic SysRq Key

    Ключът SysRq се намира в близост до клавиша Scroll Lock на клавиатурата - ключът Sys Rq обикновено е същият като клавиша Print Screen. "Магическата" комбинация SysRq е Alt + SysRq.

    За да използвате тази клавишна комбинация, ядрото на Linux трябва да е компилирано с опцията за компилация CONFIG_MAGIC_SYSRQ - повечето Linux дистрибуции ще имат това по подразбиране. Ако приемем, че е компилирано във вашето ядро, то може да бъде активирано или деактивирано на работеща система чрез промяна на стойността на / proc / sys / kernel / sysrq. За да проверите дали е активирана, изпълнете следната команда:

    cat / proc / sys / kernel / sysrq

    Ако видите "1", магическият SysRq ключ е активиран.

    Ако видите „0“, ще трябва да го активирате сами, като изпълните следната команда като root:

    ехо “1”> / proc / sys / kernel / sysrq

    Справяне със замразени X сървъри

    Ако вашият X сървър (програмата, която изпълнява вашия графичен десктоп) замръзва, може да се окажете неспособен да използвате вашата система. Има няколко магически команди SysRq, които могат да помогнат:

    • Alt + SysRq + R - Премахва клавиатурата от суров режим, като поема контрола от X сървъра. След като стартирате тази комбинация, трябва да можете да използвате клавишните комбинации Ctrl + Alt + F1 (и други клавиши F), за да превключите на друга конзола и да рестартирате X.
    • Alt + SysRq + к - Убива всички програми в текущата виртуална конзола, включително X. Можете също да активирате клавишната комбинация Ctrl + Alt + Backspace в предпочитанията на клавиатурата на Ubuntu, за да рестартирате X сървъра - обаче, този клавиш се изпълнява от X сървъра и не винаги работи.

    Чисто рестартиране на системата

    Използвани в последователност, някои от тези действия могат да се използват за чисто завършване на процесите, промиване на данни на диск, демонтиране на всички файлови системи и рестартиране на компютъра. За да изпълните този процес, натиснете и задръжте клавишната комбинация Alt + SysRq и - докато държите клавишите Alt и SysRq надолу - въведете следните клавиши в ред, поставяйки пауза за няколко секунди между всеки ключ:

    reisub

    МнемоникатаRaising Elephants азс Со Utterly Bчесто се използва за запомняне на тази последователност. Ето какво прави всеки ключ:

    • R - Поставя клавиатурата в суров режим, като я премахва от X сървъра.
    • д - Изпраща крайния сигнал на всички процеси, като ги моли да завършат изящно.
    • аз - Изпраща сигнал за убиване на всички процеси, принуждавайки ги да приключат веднага.
    • с - Премахва данните от кеша на диск.
    • ф - Премества всички файлови системи само за четене.
    • б - Рестартира компютъра.

    Още команди

    Ето някои други действия, които можете да изпълните с магическия SysRq ключ. За да изпълните действие, натиснете и задръжте клавишите Alt + SysRq, докато пишете буквата:

    • п - Възстановява хубавото ниво (приоритет) на всички приоритетни процеси в реално време.
    • е - Обажда се oom_kill, което ще убие процеса на преглъщане на паметта.
    • о - Изключва компютъра.

    Има и други действия, но те могат да бъдат по-полезни за разработчиците от средния Linux гик. За повече информация относно магическия SysRq ключ - и пълния списък с действия, които можете да извършите - консултирайте се с файла sysrq.txt, включен в ядрото на Linux..