Разбиране на SysRq ключ - Магическият ключ за контрол на Linux
Linux се срива. Това не е толкова често, но се случва. Знаете какво да правите, когато дадено приложение откаже да се подчини, но ако всичко не успее, последното решение използва върховната мощ на Linux: магическият ключ SysRq . Като използвате този клавиш с комбинация от "Alt" и друго писмо, ще можете да накарате компютъра да отговори, без значение какво. Това вече е било предизвикано, но малко обяснение не боли, и колкото повече знаете, толкова по-добре ще бъдете, когато се изправите пред истински проблем. Също така, разбирането на индивидуалния ефект винаги е по-добре, отколкото просто да се повтаря комбо, научено от сърце.
Как да активирате магическия ключ
Както казахме по-рано, магическият ключ е супер удобен. Но първо трябва да активирате тази функционалност, ако тя вече не е извършена. За да проверите, използвайте командата
котка / proc / sys / kernel / sysrq
Ако се върне 1, магическият ключ работи. Ако е 0, ще трябва да го активирате. В повечето случаи, ако искате да го активирате временно, можете да опитате
sudo ехо "1"> / proc / sys / kernel / sysrq
Но това не ми помогна. Така че, под Archlinux, използвах вместо това:
sudo sysctl kernel.sysrq = 1
Имайте предвид, че това ще бъде само временно. Ако искате магическият ключ да работи дори след рестартиране, най-добрият начин е да редактирате файла "/etc/sysctl.conf", така че реда
kernel.sysrq = 0
става
kernel.sysrq = 1
Списък на полезните комбинации
Цялата цел на използването на клавиша Magic SysRq е да го комбинирате с клавиша "Alt" и друга буква, за да задействате определена функция, дори ако компютърът ви изглежда замръзнал. За да започнете, трябва да знаете, че този ключ за системна заявка обикновено споделя местоположението си с бутона "Print Scrn" в горната дясна част на клавиатурата. Над бутона "Вмъкване" и наляво на "Scroll Lock".
Както можете да предположите, ефектът на комбинацията зависи от кой ключ на писмото се използва. Ето един неизчерпателен списък на писмото, което можете да използвате, за да получите интересен резултат.
- b - рестартира компютъра
- e - поискайте всички процеси да завършат грациозно
- f - да се отървеш от състояние Out Of Memory чрез oom_kills
- i - да убиваме всички процеси незабавно, освен init
- k - да убие абсолютно всички процеси, включително X
- m - за извеждане на текущата информация за паметта
- o - да изключите компютъра
- r - много полезно, за да извадите клавиатурата от управлението на X сървъра
- s - за синхронизиране на данни от всички монтирани устройства (избягвайте загуба на данни в случай на насилствено рестартиране)
- t - за да видите списък с текущите задачи
- u - да възстановите цялата файлова система в режим само за четене
Известни примери
Всеки потребител на Linux трябва да знае тези примери. Ако X сървърът ви е замразен и не можете да осъществите достъп до която и да е виртуална конзола, използвайки "Alt + SysRq + r" трябва да извадите клавиатурата от X сървъра и да ви позволи да изпълнявате "Ctrl + Alt + F1" убиват подходящи процеси.
Ако нямате търпение да направите това, "Alt + SysRq + k" ще убие всичко по същия начин като "Ctrl + Alt + Backspace" (но по-насилствено).
Ако нищо не реагира изобщо, и единственият начин е да рестартирате компютъра си, класическото комбо е " reisub " за "Повишаването на слона е толкова скучно" или просто помнете обратното на " по-натовареното ". Използвайте всяка буква от тази анаграма с магическия ключ, за да:
- Вземи клавиатурата от X
- Помолете всички програми да приключват внимателно
- Убийте този, който не го е направил
- Запазете данните от кеша на твърдия диск
- Ремонтира файловите системи
- Рестарт
заключение
Идеята е, че магическите комбинации ключове обикновено са супер насилствени. Вие не искате някой да го използва на вашия компютър, докато не търсите. Но като последна мярка, тя може да се превърне в най-доброто средство. Рядко срещах ситуация, при която SysRq не отговори. Така че, когато вашият Linux не се подчинява на своя господар, знаете какво да правите.
Знаете ли някаква друга комбинация, включваща SysRq? Или друг пример? Или имате въпроси? Моля, уведомете ни в коментарите.
Кредит на изображението: SysRq