SysRq

Linux.fista
Siirry navigaatioon Siirry hakuun
Tulostettavaa versiota ei enää tueta ja siinä voi olla renderöintivirheitä. Päivitä selaimesi kirjanmerkit ja käytä selaimen tavallista tulostustoimintoa sen sijaan.

SysRq on näppäimistön nappi, jolla on Linuxissa hyödyllinen käyttötarkoitus. Linuxin jäädessä jumiin voi SysRq:n avulla tehdä vielä paljonkin asioita ja palauttaa järjestelmän vakauden. Esimerkiksi jumittuneen koneen käynnistämisen uudelleen voi tehdä turvallisesti liittäen ensin levyosiot vain luku -tilaan SysRq:n avulla. SysRq on siis todellinen "taikanappula", jolla näennäisesti jumiutunut järjestelmä voidaan palauttaa aisoihin.

Käyttöönotto

SysRq-toiminnon käyttö edellyttää, että CONFIG_MAGIC_SYSRQ -asetus on ollut päällä käytössä olevaa ydintä käännettäessä. Monien jakeluiden oletusydinten tapauksessa SysRq on käännetty kerneliin mukaan, mutta sitä ei ole otettu erikseen käyttöön. Tila voidaan tarkastaa /proc/sys/kernel/sysrq -tiedostosta:

$ cat /proc/sys/kernel/sysrq
Arvo Tila
0 Kaikki SysRq:n funktiot ovat pois käytöstä
1 Kaikki SysRq:n funktiot ovat käytössä
16 sync on käytössä

Sopiva arvo voidaan asettaa esimerkiksi /etc/sysctl.d/90-sysrq.conf -tiedostoon, jolloin kernel ottaa sen käyttöön aina järjestelmän käynnistyessä. Tiedostoon voidaan esimerkiksi lisätä rivi:

kernel.sysrq = 1

Käyttö

Seuraavat komennot siis alt+SysRq ja mainittu nappula (vaikkapa alt+SysRq+ctrl).

ctrl näyttää lyhyen ohjeen ja muistuttaa pikanäppäimistä

r - Kytkee näppäimistön XLATE-tilaan

k - Tappaa kaikki aktiivisessa virtuaalikonsolissa olevat ohjelmat

b - Käynnistää järjestelmän uudestaan välittömästi, siis synkronoimatta tai irroittamatta tiedostojärjestelmiä. Tyyliin reset-nappi.

o - Sammuttaa järjestelmän ACPI:n kautta, vaatii toki tuen ytimeltä.

s - Yrittää synkronoida kaikki liitetyt tiedostojärjestelmät.

u - Yrittää uudelleenliittää kaikki liitetyt tiedostojärjestelmät vain luku -tilaan.

p - Tulostaa nykyiset rekisterit ja liput.

t - Tulostaa ajossa olevat tehtävät ja niiden tiedot.

m - Tulostaa muistitiedot.

0-9 - Asettaa konsolin "lokitason" (log level), eli mitkä kernelin virheilmot tulostetaan konsoliin. Esimerkiksi 0-tasolla ainoastaan hätäviestit kuten OOPS ja PANIC päätyvät konsoliin asti.

e - Lähettää SIGTERMin kaikille prosesseille paitsi initille.

i - Lähettää SIGKILLin kaikille prosesseille paitsi initille.

l - Lähettää SIGKILLin kaikille prosesseille, myös initille. Tekee järjestelmästä käyttökelvottoman seuraavaan käynnistykseen asti.

Yleensä jumittuneen järjestelmän uudelleenkäynnistys kannattaa tehdä yhdistelmällä r-e-i-s-u-b.