Hoe om te gaan met App / OS Freezes in Linux
Linux-gebaseerde besturingssystemen worden geacht stabieler te zijn dan andere besturingssystemen. Getuige hiervan is het feit dat Linux meer dan 95% van de supercomputers in de wereld voedt. Echter, stabiliteit en prestaties betekent niet dat Linux-systemen geen bevriezing van app of besturingssysteem ervaren.
Er kunnen veel verschillende soorten bevriezingen zijn, zoals situaties waarin een of meer applicaties bevriezen, de muis niet meer reageert met applicaties en tenslotte, waar alles (inclusief het toetsenbord) vastloopt. In dit artikel bespreken we in detail de verschillende oplossingen die beschikbaar zijn voor elke zaak en in welke volgorde u ze moet toepassen.
Opmerking : alle oplossingen / technieken die in dit artikel worden genoemd, zijn getest op Ubuntu (versie 16.04). Ze kunnen wel of niet werken op andere distributies.
Applicatie bevriezen
Wanneer een toepassing vastloopt, is de eerste en meest voor de hand liggende stap het sluiten van de app door op de knop Sluiten te klikken (knop met ronde knop met 'x' erin) linksboven in het toepassingsvenster. Meestal, in het geval van een stilstand, wanneer je dit doet, verschijnt er een klein venster met de mededeling dat de toepassing niet reageert, waardoor je een optie hebt om het proces te beëindigen of te wachten tot de toepassing reageert.
U kunt op de knop "Forceer stop" klikken om van de toepassing af te komen. Als dit echter niet werkt, moet de volgende stap zijn om de opdracht xkill
op de opdrachtregelterminal uit te voeren. (U kunt er ook een sneltoets voor maken.) Zodra de opdracht wordt uitgevoerd, verandert uw muisaanwijzer in een X.
Nu, in deze toestand, zal het klikken op een muisklik in een applicatievenster die toepassing doden.
Hoewel "xkill" een uitstekende oplossing is om bevroren apps te verwijderen, kunt u deze techniek niet gebruiken voor de processen / toepassingen die geen GUI hebben. Wees niet bezorgd, want we hebben al enkele algemeen bekende oplossingen, zoals het verzenden van een SIGINT-signaal naar de toepassing / het proces door op "Ctrl + C" te drukken of het proces te kill
met behulp van de opdracht kill
.
Wanneer de muis niet meer werkt
Wat als uw muis ook bevriest? In dat geval is de handigste optie om een commandoregelterminal vast te pakken, die u kunt starten door op "Alt + F2" te drukken, gnome-terminal
in te voeren en vervolgens op Enter te drukken.
Vanzelfsprekend, als je eenmaal op de commandolijn staat, kun je gemakkelijk een proces / applicatie doden, ongeacht of het op een GUI gebaseerd is of niet.
Als de bovenstaande oplossing om wat voor reden dan ook niet werkt, kunt u overschakelen naar een virtuele terminal door op "Alt + Ctrl + F1" te drukken. Als u daar eenmaal bent, voert u gewoon uw inloggegevens in en hebt u nu toegang tot de opdrachtregel tot uw systeem. Wanneer u klaar bent met het vernietigen van niet-reagerende processen, kunt u terugkeren naar uw GUI-sessie (dit is technisch de console waar uw X-server wordt uitgevoerd) door op "Ctrl + Alt + F7" te drukken. Als alternatief kunt u ook opnieuw opstarten de GUI vanuit de virtuele console door de volgende opdracht uit te voeren:
sudo service lightdm opnieuw opstarten
Wanneer alles bevriest
Helaas zijn er momenten waarop alles (inclusief je toetsenbord) niet meer reageert. Hoe moet je dit scenario aanpakken? De magische SysRq-sleutel komt je hier te hulp. In tegenstelling tot wat de naam doet vermoeden, is de magische SysRq-sleutel in feite een combinatie van toetsen waarmee je rechtstreeks met de kernel kunt praten, ongeacht de staat waarin je systeem zich momenteel bevindt, waardoor je bevriest / vastloopt waar niets lijkt te reageren.
Dit zijn de belangrijkste combinaties waar we het over hebben:
- Alt + SysReq + F : deze toetscombinatie vraagt de kernel om één proces (het duurste) per keer te vermoorden.
- Alt + SysReq + K : deze toetscombinatie vraagt de kernel om alle toepassingen / processen in één keer te vernietigen .
- Alt + SysReq + REISUB : deze toetscombinatie vraagt de kernel om een schone start van het systeem uit te voeren.
Hier is hoe de derde toetscombinatie (in de bovenstaande lijst) een schone reboot uitvoert:
- R : overschakelen naar de XLATE-modus
- E : Stuur SIGTERM naar alle processen behalve init
- I : Stuur SIGKILL naar alle processen behalve init
- S : Synchroniseer alle gekoppelde bestandssystemen
- U : Alle bestandssystemen opnieuw koppelen als alleen-lezen
- B : reboot
TIP : u kunt de combinatie REISUB herinneren als het omgekeerde van BUSIER.
Het is duidelijk dat de sleutelcombinatie "Alt + SysReq + REISUB" een beter alternatief is dan een koude herstart van uw systeem.
Opmerking : om ervoor te zorgen dat de magische SysRq-sleutel werkt, controleert u of de parameter "kernel.sysrq" in het bestand "/etc/sysctl.d/10-magic-sysrq.conf" is ingesteld op 1.
Conclusie
Er zijn veel technieken die u kunt gebruiken om bevriezingssituaties in app / OS in Ubuntu op te lossen. Het is de moeite waard om hier te benadrukken - en belangrijk om te begrijpen - dat deze technieken er zijn om u te behoeden voor het uitvoeren van een fysieke reset of stroom aan / uit, wat in de meeste gevallen idealiter het laatste redmiddel zou zijn.
Afbeelding tegoed: / home