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
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 op te starten, zelfs als 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 draait. 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 in uw kernel is gecompileerd, kan het op een lopend systeem worden in- of uitgeschakeld door de waarde van / proc / sys / kernel / sysrq te wijzigen. Om te controleren of het is ingeschakeld, voert u de volgende opdracht uit:
cat / proc / sys / kernel / sysrq
Als u een "1" ziet, is de magische SysRq-sleutel ingeschakeld.
Als u een "0" ziet, moet u deze zelf inschakelen door de volgende opdracht als root uit te voeren:
echo "1"> / 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 - Hiermee wordt het toetsenbord uit de onbewerkte modus gehaald, waardoor de controle weggenomen wordt van de X-server. Nadat u deze combinatie hebt uitgevoerd, kunt u de sneltoetsen Ctrl + Alt + F1 (en andere F-toetsen) gebruiken om over te schakelen naar een andere console en X opnieuw te starten.
- Alt + SysRq + k - Doodt alle programma's op de huidige virtuele console, inclusief X. Je kunt ook de sneltoets Ctrl + Alt + Backspace in de toetsenbordvoorkeuren van Ubuntu inschakelen om je X-server opnieuw te starten - deze snelkoppeling wordt echter geïmplementeerd door de X-server en werkt mogelijk niet altijd.
Uw systeem correct opnieuw opstarten
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 toetscombinatie Alt + SysRq ingedrukt en houdt u de toetsen ingedrukt terwijl u de toetsen Alt en SysRq ingedrukt houdt. Houd vervolgens de toetsen enkele seconden lang tussen elke toets:
reisub
Het geheugensteuntje "RAising Elephants iks SO Utterly Boring "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 weg van de X-server.
- e - Stuurt het terminale signaal naar alle processen en vraagt hen om gracieus te eindigen.
- ik - Verzendt het kill-signaal naar alle processen, waardoor deze onmiddellijk moeten worden beëindigd.
- s - Spoel gegevens uit uw cache naar schijf.
- u - Herkent alle bestandssystemen als alleen-lezen.
- b - Start uw computer opnieuw op.
Meer opdrachten
Hier volgen 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 - Herstelt het mooie niveau (prioriteit) van alle hoge en realtime prioriteitsprocessen.
- f - Roept oom_kill aan, wat een geheugenheupproces zal doden.
- O - Schakelt de computer uit.
Er zijn andere acties, maar deze kunnen nuttiger zijn voor ontwikkelaars dan de gemiddelde Linux-geek. Voor meer informatie over de magische SysRq-sleutel - en een volledige lijst met acties die u kunt uitvoeren - raadpleegt u het sysrq.txt-bestand dat bij de Linux-kernel is geleverd.