26Aug

Använd Magic SysRq-tangenten på Linux för att fixa frusna X-servrar, rena omstart och kör andra lågnivåkommandon

sysrq nyckel

På Linux kan den magiska SysRq-tangenten skicka kommandon direkt till Linux-kärnan. Du kan använda den för att återhämta sig från att frysa eller starta om ditt system, även om inget verkar svara.

Den magiska SysRq-nyckeln är implementerad som en del av Linux-tangentbordsdrivrutinen - det kommer att fungera så länge Linuxkärnan fortfarande körs. Endast en kärnan panik ska inaktivera denna tangentkombination.

Bildkredit: solylunafamilia på Flickr

Använda Magic SysRq-tangenten

SysRq-tangenten ligger nära Scroll Lock-tangenten på tangentbordet - Sys Rq-tangenten är i allmänhet densamma som din skrivskärmsknapp. Den "magiska" SysRq-kombinationen är Alt + SysRq.

För att kunna använda den här tangentkombinationen måste din Linuxkärna ha sammanställts med CONFIG_MAGIC_SYSRQ kompileringsalternativet - de flesta Linux-distributioner kommer att ha det här aktiverat som standard. Om det antas att det har sammanställts i din kärna kan det aktiveras eller inaktiveras på ett körsystem genom att ändra värdet på /proc/sys/kernel/ sysrq. För att kontrollera om det är aktiverat, kör följande kommando:

katt /proc/sys/kernel/ sysrq

Om du ser en "1", är den magiska SysRq-tangenten aktiverad.

bild

Om du ser en "0" måste du aktivera det själv genom att köra följande kommando som root:

echo "1" & gt;/proc/sys/kernel/ sysrq

Hantera en frusen X-server

Om din X-server( programmet som kör ditt grafiska skrivbord) fryser kan det hända att du inte kan använda ditt system. Det finns några magiska SysRq-kommandon som kan hjälpa till:

  • Alt + SysRq + r - Tar tangentbordet ur rakt läge och tar kontroll bort från X-servern. När du har kört den här kombinationen borde du kunna använda tangentbordsläget Ctrl + Alt + F1( och andra F-tangenter) för att växla till en annan konsol och starta om X.
  • Alt + SysRq + k - Dödar alla program på strömmenvirtuell konsol, inklusive X. Du kan även aktivera tangentbordsgenväggen Ctrl + Alt + Backspace i Ubuntus tangentbordsinställningar för att starta om din X-server. Men genvägen implementeras av X-servern och fungerar inte alltid.

Rengör omstart av systemet

Används i följd, vissa av dessa åtgärder kan användas för att rengöra processer, skölja data till disk, avmontera alla filsystem och starta om datorn. För att utföra denna process, tryck och håll ner Alt + SysRq-tangentkombinationen och - samtidigt som du håller ner Alt och SysRq-tangenterna - skriv följande tangenter i ordning och pausa i flera sekunder mellan varje tangent:

reisub

Den mnemonic " R aising E lefon I s S o U tterly B oring "används ofta för att komma ihåg denna sekvens. Här är vad varje nyckel gör:

  • r - Ställer tangentbordet i råläge, tar kontroll över det från X-servern.
  • e - Sänder avslutningssignalen till alla processer och ber dem att sluta graciöst.
  • i - Skickar dödsignalen till alla processer och tvingar dem att sluta omedelbart.
  • s - Spolar data från din cache till disken.
  • u - Ta bort alla filsystem skrivskyddade.
  • b - Reboots din dator.

Fler kommandon

Här är några andra åtgärder du kan utföra med den magiska SysRq-nyckeln. För att utföra en åtgärd, tryck och håll ner Alt + SysRq-tangenterna medan du skriver brevet:

  • n - Återställer den fina nivån( prioritet) för alla höga och realtidsprioriterade processer.
  • f - Samtal oom_kill, som kommer att döda en minnesvårig process.
  • o - Stänger av datorn.

Det finns andra åtgärder, men de kan vara mer användbara för utvecklare än den genomsnittliga Linux-geeken. För mer information om den magiska SysRq-nyckeln - och en fullständig lista över åtgärder du kan utföra - se filen sysrq.txt som ingår i Linux-kärnan.