ПредишенСледващото

SysRq: Process Killer

Така си мислиш, че може да убие всеки замразен заявление с командата `убие -9`? Но какво, ако ви пусна Х-сървър или програма, която използва "прекрасен" SVGAlib библиотеката? Тук имате подкрепата на "магия SysRq" - специална комбинация от клавиши, куки самото житно, което също може да се използва, както и някои други комбинации, за да извършите аварийно изключване.

[Vikas G P. Превод: Зоя Близкия]

Така си мислиш, че може да убие всяка програма с замразени убие -9 команда. Но какво, ако ви пусна Х-сървър или програма, която използва "прекрасен" SVGAlib библиотеката? Това е мястото, където можем да помогнем на магия SysRq.

Магията SysRq - комбинация от клавиши, куки самото житно, което също може да се използва, както и някои други комбинации, за да извършите аварийно изключване. Всичко това са описани в документацията / sysrq.txt и внедрена в водачи / Чар / sysrq.c в изходния код на ядрото. Това се прави най-вече за разработчиците на ядрото, но тя може да бъде полезна и на обикновените хора. Тъй като това се прави като част от драйвера на клавиатурата, тя винаги работи по време на работа на ядрото.

Забележка: в края на статията, когато говорим за "ключ SysRq" - което означава един бутон (от ляво на Scroll Lock ключ). И когато говорим за "магия SysRq" - това означава комбинация от .

За да се даде възможност на магия комбинация SysRq, ядрото трябва да бъде компилиран с CONFIG_MAGIC_SYSRQ опция. Повечето дистрибуции го включват по подразбиране. Ако не е, тогава ще трябва просто да прекомпилирате. )

След като бъде направено с ядрото, проверката - дали по подразбиране SysRq активирана.

Ако видите 0 - означава да не се разрешава. Запишете всяка различна от нула номер в файл / ргос / сис / ядро ​​/ SysRq, за решаването му.

Така, че винаги е бил решен, добавете тези редове в един от вашите стартиращи скриптове (за предпочитане rc.local).

Като алтернатива можете да използвате файл / и т.н. / Sysctl или /etc/sysctl.conf, ако това е в вашата дистрибуция (например, по мое RedHat файлът е). За да се даде възможност на SysRq добавете следния ред:

Магията SysRq комбинация е уникална. Всеки ключ, когато е натиснат или освободен генерира код, наречен код сканиране. Въпреки факта, че двата бутона (Alt + SysRq) се използва за магия комбинация SysRq се изпраща само един код за сканиране (0x54, десетични 84). Можете да проверите това, като showkey -s команда.

[Ed. - напомняне за начинаещи: имате нужда от нещо не натиснете на клавиатурата си, в рамките на 10 секунди, за да showkey програма вече е затворен. И все пак - в "iksah" showkey отказва да работи, така че да работи в текстов конзола].

И как да го използвам?

Магията SysRq се извиква като + <клавиша>. (Спомням си, че ключът SysRq също е посочена като най Print Screen). Във връзка с Можете да използвате следните бутони:

К: защитен ключ за достъп. Той убива всички процеси, които работят на ток виртуална конзола, така че да не любопитството софтуер не може да прихване от вас клавиши, докато въвеждате паролата си.

ф: Опит за демонтиране на основната файлова система ( "/") и да го постави обратно в току-що за четене режим. В допълнение към аварийно изключване, тази команда може да бъде полезно, ако имате Linux само един дял и искате да извършите fsck или ниско ниво редактиране на файловата система (например възстановяване на изтрити файлове от файлови системи ext2 Вижте Ext2FS Отмяна на изтриване Howto (Ед .. - за възстановяване на изтрити файлове на ext3 файлова система, монтирайте го като ext2.)

S: Тази команда изчиства съдържанието на буфера на диска. Това трябва да стане преди слизам.

б: Произвежда незабавно рестартиране, точно както бутона Reset. За безопасно спиране, трябва първо да изчисти буферите и демонтиране система.

р: Печат на съдържанието на регистрите на процесора.
(Prim.perev -. Точно така, аз, като програмист, не е ясно - защо са се променя с главоломна скорост.)
(Ed. - Съгласен съм да привлече вниманието ви, че информацията се записва в дневника на системата ..)

m: Показва информация за паметта.

т: Показва информация за задачите на текущите.

0-9: Задава указаното ниво на информация за отстраняването на изхода на конзолата.

д: Изпраща SIGTERM сигнал (за да завърши работата) на всички процеси, с изключение на първоначален.

I: Изпраща SIGKILL сигнал (абсолютен завършване) до всички процеси, с изключение на първоначален.

л: Изпраща SIGKILL сигнал към всички процеси, включително първоначален (не можеш да направиш нищо, след това).

"H" - показва помощ (всъщност всеки друг ключ, различни от горепосочените, ще предизвика сертификат, но "з" е по-лесно да се помни :-).

изключване

Как мога да деактивирате режима SysRq? документация (sysrq.txt) нищо със сигурност в това отношение. Той казва за натискане на левия и десния Ctrl, Alt клавишите и Shift, са, но аз работя много по-лесен начин. Трябва само да натиснете Alt + SysRq отново и ви оставя този режим.

Разбрах: ядрото си спомня състоянието на магия SysRq: пресовано или освободени. Когато натиснете първи път държавата се променя с едно натискане. И когато натиснете произволен клавиш, докато SysRq е натиснат, ядрото го интерпретира като команда. Ако натиснете SysRq отново, състоянието му се променя на отредения и няма повече клавиши се обработват, както се изисква от програмата. (Всъщност, това не е лесно. Понякога по-горе метод не работи. Мисля, че това е така, защото ядрото използва отделна превод кодова таблица, когато се натисне магия SysRq.)

SysRq ключ първоначално означава, както можете да се досетите, "Система Заявка". Той е бил използван в първите изводи IBM към централния компютър, за да изпълни командата. Този ключ е вече рядко се използва, където, освен, може би, Linux ядрото.

безопасност

Нека е налице вълшебната SysRq на една машина тичане (сървър), може да бъде потенциално опасно. Всеки, който има физически достъп до машината може да "падне" кола. Необходимо е също така да се забрани SysRq, ако други хора може отдалечено да създават на вашата машина. сигнал , Изпратен от отдалечена конзола, това ще се интерпретира като , и последствията могат да бъдат ужасни. За повече информация, вижте дистанционно Serial-HOWTO Console-.

заключение

Хак магия SysRq понякога може да е много удобно. Каквото и да беше, той се използва с повишено внимание. Той също така дава малко поглед върху вътрешната изработки на ядрото. Ако желаете, можете да добавите свои собствени различни отбори!

Аз съм като завършва средното училище и живеят в Hassan, Карнатака, Индия, (Хасан, Карнатака в Индия) Опитвам се да балансира моите проучвания и обучение Linux.

Викас G П. Превод: Владимир Близкия - SysRq: Process Killer печат

Подкрепете проекта - споделете линка, благодаря!