Klávesa Sys Rq
Author
Albert FloresKlávesa Sys Rq Klávesa Sys Rq umožňuje stisknutím kombinace kláves poslat signál srozumitelný pro Linuxové jádro, který umožňuje uživateli vykonávat různé nízkoúrovňové příkazy bez ohledu na stav systému. Toho je často používáno k obnovení po zamrznutí systému nebo k restartu počítače bez poškození souborového systému. Jeho účinek je podobný jako hardwarové resetovací tlačítko (nebo vypínač), ale s mnohem více možnostmi a mnohem větší kontrolu.
Tato kombinace poskytuje přístup k výkonné funkci pro vývoj softwaru a obnově při selhání. V tomto smyslu může být užití považováno za formu escape sekvence. +more Mezi hlavní nabízené příkazy jsou prostředky k násilnému odpojení souborového systému, ukončení procesů, obnova stavu klávesnice, a psát nezapsaná data na disk. S ohledem na tyto úkoly tato funkce slouží jako nástroj poslední instance.
Kombinace s klávesou SysRq nemůže za určitých podmínek fungovat, například při kernel panic nebo selhání hardwaru bránící jádru pracovat správně.
Příkazy
Kombinace kláves se skládá z + a další klávesy, která určuje vyslaný příkaz. V Ubuntu kombinace Alt+SysRequest působí jako příkaz „print screen“.
Kombinace vždy předpokládá rozložení klávesnice QWERTY, například na Dvorak Simplified Keyboard, kombinace pro vypnutí systému využívá klávesu místo . Navíc některé klávesy nemusí obsahovat samostatnou klávesu . +more V takovém případě by měla být přítomna samostatná klávesa .
Na některých zařízeních, zejména noteboocích, musí být stisknuta i klávesa .
Kombinace kláves SysRq může také být přístupná ze sériové konzole (zasláním RS-232 signál break), pokud je povolena možnost sysctl.
Po přihlášení pomocí SSH může být SysRq přístupné pomocí zápisu do /proc/sysrq-trigger (například echo s > /proc/sysrq-trigger).
Příkaz | QWERTY | Dvorak | AZERTY | Colemak |
---|---|---|---|---|
Nastaví úroveň zaznamenávání zpráv konzole, které určuje druh zpráv kernelu které jdou na výstup konzole | až | až | až (bez ) | až |
Okamžitě restartuje systém, bez odpojení souborového systému nebo jeho synchronizace | ||||
Vyvolá selhání systému. +more Pokud je to nastaveno bude zachycen crashdump. | ||||
Zobrazí všechny zamčené Locks (je požadováno nastavení kernelu CONFIG_LOCKDEP) | ||||
Odešle signál SIGTERM všem procesorům kromě init (PID 1) | ||||
Zavolá oom_kill, což ukončí precesi pro omezení stavu OOM | ||||
Při použití Kernel Mode Setting, nabízí podporu nouzového přepnutí zpět do framebuffer konzole kernelu Pokud je přítomen 'kdb' pro ladění kernelu, je spuštěn. | ||||
Vyvolá stránku nápovědy do konzole. Každá klávesa která nemá přiřazený žádný příkaz také vyvolá tuto funkci. | ||||
Vyšle signál SIGKILL všem procesům kromě init | ||||
Násilně „Prostě rozmraz“ - souborový systém který zamrzl působením FIFREEZE ioctl. | ||||
Ukončí všechny procesy v současné virtuální konzoly (může ukončitl X a programy svgalib, viz níž) Původně bylo určeno jako imitace secure attention key | ||||
Zobrazí stack backtrace pro všechny aktivní procesory. | ||||
Vypíše aktuální informace o paměti do konzole | ||||
Restartuje úroveň nice všech úkolů s vysokou prioritou a real-time úkoly | ||||
Vypne systém | ||||
Výstup aktuálních registrů a příznaků do konzoly | ||||
Zobrazit všechny aktivní časovače s vysokým rozlišením a zdroje času. | ||||
Přepne klávesnici z režimu raw, používaného v programech jako X11 a svgalib, do režimu XLATE. | ||||
Synchronizuje všechny připojené souborové systémy. | ||||
Vypíše seznam současných úkolů a informací o nich do konzole. | ||||
Připojí všechny připojené souborové systémy v režimu read-only. | ||||
Nuceně obnoví konzoly framebuffer, kromě procesorů ARM, kde tato klávesa způsobuje výpis vyrovnávací paměti ETM. | ||||
Zobrazit seznam blokovaných úkolů (stav D). | ||||
Používáno rozhraním xmon na platformách PPC/PowerPC. | ||||
Zobrazí globální registry CPU (specifické pro SPARC-64) | ||||
Vypustí vyrovnávací paměť ftrace | ||||
Vytiskne souhrn dostupných kláves SysRq |
Použití
Běžné použití kombinací kláves SysRq slouží k bezpečnému restartu počítače se systémem Linux, který je jinak zaseklý (zkr. REISUB). +more To může zabránit nutnosti fsck při restartu a dává některým programům možnost uložit nouzové zálohy neuložené práce. QWERTY (nebo AZERTY) mnemotechnické pomůcky: "Raising Elephants Is So Utterly Boring", "Reboot Even If System Utterly Broken" nebo prostě slovo "BUSIER" čtené pozpátku, je často používáno pro zapamatování následující sekvence kombinací kláves SysRq: unaw (převzít kontrolu nad klávesnicí zpět z X), trminate (poslat SIGTERM všem procesům, které jim umožní ukončit elegantně), kll (poslat SIGKILL, všem procesům, donutit je, okamžitě ukončit), ync (vyprázdní data na disk), nmount (znovu připojí všechny souborové systémy pouze pro čtení), reoot. Když je kombinace kláves použita k ukončení zmrazeného grafického programu, program nemá šanci na obnovení v textovém režimu. To může dělat vše, nečitelným. Příkazy textmode (část SVGAlib) a reset mohou obnovit textový režim a konzole opět čitelnou.
V distribucích, které nezahrnují spustitelný textmode, může kombinace kláves ++ být někdy schopna donutit vrátit se do textové konzole. (Použitím,. +more, kde n je nejvyšší počet textových konzolí nastavený v distribuci. ++ by normálně mělo být použity, pro návrat do režimu grafického uživatelského rozhraní v systému, na němž X nehavaroval. ).
Konfigurace
Funkce je ovládána volbou kompilace-času v konfiguraci jádra, CONFIG_MAGIC_SYSRQ, a sysctl parametru jádra, kernel.sysrq.
Na novějších jader (od 2. 6. +more12), je možné mít jemnější kontrolu nad tím, jak může být kombinace kláves SysRq použita. Na těchto strojích, číslo napsané na /proc/sys/kernel/sysrq může být nula, jedna nebo číslo větší než jedna, což je bitová maska, která označuje, které funkce chcete povolit.
Alternativní způsoby, jak vyvolat SysRq
Zatímco kombinace kláves SysRq byla původně implementován jako část klávesnice jádra pro ladění, funkce byly vystaveny také prostřednictvím proc souborového systému a je běžně používán k poskytování rozšířené možnosti správy do bezhlavého a vzdálených systémů.
Linuxové démony sysrqd a tcpconsole poskytují způsob přístupu k funkci SysRq přes TCP spojení po ověření s plain-text heslem. Démon hangwatch vyvolá před-konfigurované sysrq, když průměrné zatížení systému překročí určitý práh.
Xen hypervisor má funkci pro odeslání příkazu SysRq na hostované domény přes jeho příkaz "xm sysrq". Navíc, sysrq příkaz lze vyvolat z Xen paravirtual console odesláním break sekvence + následovanou požadovanou klávesou.
Mnoho embedded systémů nemá klávesnici, ale místo toho používá sériové konzoly pro textový vstup/výstup pro chod systému. Je možné vyvolat funkce SysRq přes sériovou konzoli, zasláním sériového příkazu "Break", následovaný požadovanou klávesou. +more Způsob odeslání break je závislá na terminálovém programu nebo hardwaru používaném k připojení sériové konzole.
Chromebooky mají klávesnice, ale nemají klávesu pro SysRq. Používají Alt + VolumeUp (F10).
IBM Power servery mohou vyvolat funkce SysRq pomocí + následované požadovanou klávesou od HMC konzole.
IBM mainframe oddíly mohou vyvolat funkce SysRq pomocí + následované požadovanou klávesou na 3270 nebo HMC konzoly.
Související články
Stop-A, posloupnost kláves používané pro přístup k Sun Microsystems's Open Firmware (OpenBoot) * KVM přepínač * Systémová konzole