26Aug

Gebruik de Magic SysRq-sleutel op Linux om Frozen X-servers te repareren, Cleanly opnieuw op te starten en andere opdrachten op laag niveau uit te voeren

click fraud protection

sysrq-sleutel

Onder Linux kan de magische SysRq-sleutel commando's rechtstreeks naar de Linux-kernel sturen. Je kunt het gebruiken om te herstellen van bevriest of je systeem netjes opnieuw te starten, zelfs als er niets lijkt te reageren.

De magische SysRq-sleutel is geïmplementeerd als onderdeel van het toetsenbordstuurprogramma van Linux - het zal werken zolang de Linux-kernel nog steeds actief is. Alleen een kernelpanicatie moet deze toetsencombinatie uitschakelen.

Image Credit: solylunafamilia op Flickr

De Magic SysRq-sleutel gebruiken

De SysRq-sleutel bevindt zich in de buurt van de Scroll Lock-toets op uw toetsenbord - de Sys Rq-sleutel is over het algemeen hetzelfde als uw Print Screen-toets. De "magische" SysRq-combinatie is Alt + SysRq.

Om deze toetsencombinatie te gebruiken, moet je Linux-kernel zijn gecompileerd met de CONFIG_MAGIC_SYSRQ compileeroptie - de meeste Linux-distributies hebben dit standaard ingeschakeld. Ervan uitgaande dat het is gecompileerd in uw kernel, kan het worden ingeschakeld of uitgeschakeld op een actief systeem door de waarde van /proc/sys/kernel/ sysrq te wijzigen. Voer de volgende opdracht uit om te controleren of deze is ingeschakeld:

instagram viewer

cat /proc/sys/kernel/ sysrq

Als u een "1" ziet, is de magische SysRq-sleutel ingeschakeld.

beeld

Als u een "0" ziet, moet u deze zelf inschakelen door de volgende opdracht als root uit te voeren:

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

Omgaan met een Frozen X-server

Als uw X-server( het programma waarop uw grafische bureaublad wordt uitgevoerd) vastloopt, is het mogelijk dat u uw systeem niet kunt gebruiken. Er zijn een paar magische SysRq-commando's die kunnen helpen:

  • Alt + SysRq + r - haalt het toetsenbord uit de raw-modus en neemt de besturing weg van de X-server. Na het uitvoeren van deze combinatie zou je in staat moeten zijn om de Ctrl + Alt + F1( en andere F-toets) sneltoetsen te gebruiken om over te schakelen naar een andere console en X opnieuw te starten.
  • Alt + SysRq + k - Doodt alle programma's op de huidigevirtuele console, inclusief X. U kunt ook de sneltoets Ctrl + Alt + Backspace in de toetsenbordvoorkeuren van Ubuntu inschakelen om uw X-server opnieuw te starten - deze snelkoppeling wordt echter geïmplementeerd door de X-server en werkt mogelijk niet altijd.

Netjes opnieuw opstarten van uw systeem

Na elkaar gebruikt, kunnen sommige van deze acties worden gebruikt om processen netjes te beëindigen, gegevens naar schijf te spoelen, alle bestandssystemen te ontkoppelen en uw computer opnieuw te starten. Om dit proces uit te voeren, houdt u de Alt + SysRq toetscombinatie ingedrukt en - terwijl u de Alt- en SysRq-toetsen ingedrukt houdt - typt u de volgende toetsen in de aangegeven volgorde, pauzeer gedurende een aantal seconden tussen elke toets:

reisub

De mnemonic " R ais E -lefanten I 's S o U tterly B oring "wordt vaak gebruikt om deze reeks te onthouden. Dit is wat elke toets doet:

  • r - Zet het toetsenbord in de onbewerkte modus en neem de besturing ervan over van de X-server.
  • e - Stuurt het terminale signaal naar alle processen en vraagt ​​hen om gracieus te eindigen.
  • i - Stuurt het kill-signaal naar alle processen, waardoor deze onmiddellijk moeten worden beëindigd.
  • 's - Flush gegevens van uw cache naar schijf.
  • u - Laat alle bestandssystemen als alleen-lezen zien.
  • b - Start uw computer opnieuw op.

Meer opdrachten

Hier zijn nog enkele andere acties die u kunt uitvoeren met de magische SysRq-sleutel. Om een ​​actie uit te voeren, houdt u de Alt + SysRq-toetsen ingedrukt terwijl u de letter typt:

  • n - Reset het mooie niveau( prioriteit) van alle hoge en realtime prioriteitsprocessen.
  • f - Roept oom_kill aan, wat een geheugenopruimingsproces zal doden.
  • o - Schakelt de computer uit.

Er zijn nog andere acties, maar deze kunnen nuttiger zijn voor ontwikkelaars dan de gemiddelde Linux-geek. Zie het sysrq.txt-bestand dat bij de Linux-kernel is geleverd voor meer informatie over de magische SysRq-sleutel - en een volledige lijst met acties die u kunt uitvoeren.