Advertentie

Repareer niet-reagerende of bevroren Linux-computers met snelkoppelingsschermen 2 Linux-systemen staan ​​bekend om hun stabiele werking, ontworpen om jarenlang opnieuw te kunnen opstarten. Als het je echter nog steeds lukt om een ​​touwtje te trekken en je computer te bevriezen, zijn er nogal wat manieren om het systeem weer aan het werk te krijgen. U kunt inloggen op een virtuele console, pgrep en pkill gebruiken, xkill, systeemmonitor gebruiken en het aanstootgevende proces beëindigen als u daar zeker van bent. Of als niets werkt, kunt u op de aan / uit-knop drukken? Maar voordat je naar die aan / uit-knop gaat, is er nog een laatste magische manier om je systeem terug te krijgen, en ik ga er in dit artikel over praten.

Ten eerste weet ik zeker dat velen van ons niet weten dat hun toetsenbord een sysrq-toets heeft. Is het? Of was je het misschien vergeten? Ja, het is die PrintScreen / SysRq-sleutel die we in dit artikel naar MakeUseOf gaan.

Repareer niet-reagerende of bevroren Linux-computers met snelkoppelingen 2049750712 7dc950c7c5

Wat is een Magic SysRq-sleutel

Met een Magic SysRq-sleutel kunt u enkele opdrachten op laag niveau verzenden, onafhankelijk van de systeemstatus. Dit betekent dat als het systeem bevroren is, u deze toetscombinaties kunt gebruiken om bepaalde acties uit te voeren en zo de controle terug te krijgen.

instagram viewer

Dus wat is de magie? Als je ooit vastzit met een niet-reagerend systeem, probeer het dan

Alt + PrintScreen + r + s + e + i + u + b.

Oef! Dus hoeveel handen heb je hiervoor nodig? Of moet je je tenen gebruiken? Nou, eigenlijk houd je alleen Alt en PrintScreen samen ingedrukt, de andere toetsen worden één voor één ingedrukt en vervolgens losgelaten. Er gebeurt nogal wat wanneer je dit doet. ‘R’ ’’ ’e’ ’’ i ’‘ u ’‘ b ’staat in feite voor afzonderlijke opdrachten:

  • r - neemt de controle over het toetsenbord terug van X.
  • s - schrijft de gegevens van de schijfcache naar de harde schijf.
  • e - stuurt SIGTERM naar alle processen behalve init.
  • i - stuurt SIGKILL naar alle processen behalve init
  • u - koppelt alle bestandssystemen alleen opnieuw aan (in feite een maatregel om u te helpen veilig opnieuw op te starten)
  • b - herstart het systeem

Zoals u ziet, drukt u op elke letter om bepaalde taken uit te voeren, dus is het logisch om ze één voor één in te drukken terwijl u de combinatie Alt + PrintScreen ingedrukt houdt. Geef voldoende tijd voordat u op de volgende toets drukt, zodat het systeem alle taken kan uitvoeren zoals gevraagd door de Magic SysRq Key-combinatie

Andere magische opdrachten

Dat is niet alles. Alt + PrintScreen + r + s + e + i + u + b is slechts een speciale combinatie van de opdrachten die u helpen een niet-reagerend systeem te herstellen. Er zijn ook andere opdrachten beschikbaar:

0 – 9 stelt het console-logniveau in en bepaalt welke kernelberichten naar uw console worden afgedrukt, zodat u niet overstroomt.
b start het systeem opnieuw op zonder stappen te ondernemen om ervoor te zorgen dat de voorwaarden goed zijn voor een veilige herstart. Alleen deze sleutel gebruiken is als een koude herstart.
e stuurt SIGTERM naar alle processen behalve init.
f call Out Of Memory Killer, die een proces zal doden dat al het beschikbare geheugen in beslag neemt.
h geeft hulp weer over de SysRq-toetsen op een terminal, maar in werkelijkheid kunt u elke toets gebruiken behalve de gespecificeerde, om hulp weer te geven.
ik stuurt SIGKILL naar alle processen behalve init.
k doodt alle processen op de huidige terminal.
l stuurt SIGKILL naar alle processen, inclusief init.
m dumpt geheugeninformatie naar uw console.
O schakelt het systeem uit via ACPI of in oudere systemen, APM.
p dumpt de huidige registers en vlaggen naar uw console.
q dumpt alle timersinformatie naar uw console.
r neemt toetsenbord- en muisbesturing van de X-server.
s schrijft alle gegevens van de schijfcache naar de harde schijven, het is een synchronisatie en is noodzakelijk om de kans op gegevensbeschadiging te verkleinen.
t dumpt een lijst met huidige taken en informatie naar uw console.
u koppelt alle gemounte bestandssystemen alleen-lezen opnieuw. Nadat u deze sleutel hebt gebruikt, kunt u het systeem opnieuw opstarten met Alt + SysRq + B zonder het systeem te schaden.
w dumpt ononderbreekbare (geblokkeerde) staatstaken.

Alt + Printscreen is ook de sneltoets voor een screenshot van het actieve venster onder Gnome en enkele andere vensterbeheerders. Zorg ervoor dat Magic SysRq Keys op uw systeem is ingeschakeld. Magic SysRq sleutels / commando's werken alleen als de kernel is gecompileerd met de CONFIG_MAGIC_SYSREQ optie.

U kunt ook proc sysrq-triggeraanroepen gebruiken om het gedrag van sysrq-sleutels te regelen. Over het algemeen hoeft u dat alleen te weten

echo 0> / proc / sys / kernel / sysrq schakelt sysrq-sleutels uit

en

echo 1> / proc / sys / kernel / sysrq schakelt sysrq-sleutels in

Er zijn andere nummers met speciale betekenissen zoals 2 - controle van console-logboekniveau inschakelen, 4 - controle van toetsenbord inschakelen (SAK, unraw), 8 - debugging-dumps van processen inschakelen enz., 16 - sync-opdracht inschakelen, 32 - remount alleen-lezen inschakelen, 64 - signalering inschakelen processen (term, kill, oom-kill), 128 - reboot / poweroff toestaan, 256 - maak nicing van alle RT-taken (controleer het mooie niveau (prioriteit) van Real Tijdtaken)

Als alternatief toevoegen kernel.sysrq = 1 in /etc/sysctl.conf bestand zal ook sysrq-sleutels inschakelen.

Wees extra voorzichtig bij het bewerken van configuratiebestanden.

Daar heb je het. Uw eigen noodplan. Als u de combinatie moeilijk kunt onthouden, kunt u deze opschrijven en op de monitor plakken of gewoon onthouden 'Raising Smager Elephants iks Utterly Boring ”.

Magic SysRq-sleutels zijn niets nieuws, ze zijn al geruime tijd een kenmerk van de kernel. Heb je ooit de kans gehad om ze te gebruiken? of heb je liever een andere manier? Deel met ons in de reacties.

Ik ben Varun Kashyap uit India. Ik ben gepassioneerd door computers, programmeren, internet en de technologieën die ze aansturen. Ik hou van programmeren en vaak werk ik aan projecten in Java, PHP, AJAX etc.