SYSRQ gyilkos folyamat, a rendszer kernel, eszközök, tárgyak, könyvtár linukstsentra, - a szakértő Linux

SysRq: Process Killer

Tehát úgy gondolja, lehet megölni fagyasztott alkalmazás parancs `megöli -9`? De mi van, ha csökkent az X-kiszolgáló vagy a program, amely a „csodálatos” svgalib könyvtárat? Itt a támogatást a „mágikus SysRq” - egy speciális billentyűkombináció, kampók a kernel is, amely szintén használható, valamint néhány más pályára, hogy vészleállításáról.

[Vikas G P. Translation: Vladimir Közel]

Tehát azt gondolja, hogy lehet ölni minden program fagyott kill -9 parancsot. De mi van, ha csökkent az X-kiszolgáló vagy a program, amely a „csodálatos” svgalib könyvtárat? Ez az, ahol tudunk segíteni a mágikus SysRq.

Mágikus SysRq - billentyűkombinációk, kampók a kernel is, amely szintén használható, valamint néhány más pályára, hogy vészleállításáról. Mindez leírt Documentation / sysrq.txt és hajtanak végre a drivers / char / sysrq.c a kernel forrást. Ez úgy történik, főleg a kernel fejlesztők, de hasznos lehet, és a hétköznapi emberek. Mivel ez megtörtént részeként billentyűzet driver, ez mindig bejön, miközben dolgozik a mag.

Megjegyzés: a végén a cikk, amikor megemlítem „gomb SysRq” - ami azt jelenti, egy gomb (balra Scroll Lock billentyűt). És amikor megemlítem a „mágikus SysRq” - ez azt jelenti kombinációja .

Annak érdekében, hogy a mágikus SysRq kombináció, a kernel kell összeállítani CONFIG_MAGIC_SYSRQ opciót. A legtöbb terjesztés meg alapértelmezés szerint. Ha nem, akkor meg kell, hogy egyszerűen újrafordítani. )

Miután végzett a kernel, check -, hogy az alapértelmezett SysRq engedélyezett.

Ha azt látja, 0 - jelentése: nem megengedett. Rögzíteni minden nem nulla szám a fájl / proc / sys / kernel / SysRq, hogy oldja meg.

Úgy, hogy mindig megoldódott, ezeket a sorokat az egyik a inicializáló szkript (lehetőleg rc.local).

Alternatívaként használhatja a / etc / sysctl vagy /etc/sysctl.conf, ha ez jelen van a disztribúciós (például a RedHat a fájl). Annak érdekében, hogy SysRq hozzá a következő sort:

Mágikus SysRq kombináció egyedülálló. Minden gomb megnyomásakor vagy felszabaduló generál nevezett kód leolvasó kódot. Annak ellenére, hogy a két kulcs (Alt + SysRq) használják mágikus SysRq pályára küldött csak egy scan kód (0x54, decimális 84). Akkor ezt nézd meg showkey -s parancs.

[Ed. - emlékeztető kezdőknek: bármi kell, ne nyomja meg a billentyűzeten 10 másodpercen belül showkey programot már lezárult. És mégis - a „iksah” showkey hajlandó dolgozni, így futtatni szöveges konzolon].

És hogyan kell használni?

Mágikus SysRq meghívódik, + <клавиша>. (Emlékszem, hogy a SysRq is nevezik a Print Screen). Együtt Használhatja a következő gombokat:

k: a biztonságos hozzáférési kulcsot. Ez megöli az összes futó folyamatok aktuális virtuális konzolra, úgyhogy nem kell feszíteni program nem tudta megragadni a billentyűleütéseket közben írja be a jelszót.

u: Kísérlet leválasztani a gyökér fájlrendszer ( „/”), majd újra fel a just-for-olvasási mód beállítása. Amellett, hogy a sürgősségi leállítás, ez a parancs hasznos lehet, ha van egy Linux csak egy partíciót szeretne végrehajtani egy fsck vagy alacsony szintű szerkesztést a fájlrendszer (például behajtására törölt fájlokat egy ext2 fájlrendszer Lásd Ext2fs Undeletion HOGYAN (Ed .. - visszaállítani a törölt fájlokat a ext3 fájlrendszer, a csatolási azt ext2).

s: Ez a parancs törli a tartalmát a puffer a lemezre. Ezt meg kell tenni, mielőtt a leugrás.

b: Különösen azonnal újraindul, ahogy a Reset gombot. A biztonságos leállás, először meg kell állítania a pufferek és leválasztása rendszert.

p: Print tartalmát a CPU regiszterek.
(Prim.perev -. Jobb, I, mint programozó, nem világos, hogy - miért? Ők változó nyaktörő sebességgel.)
(Ed -. Elfogadom felhívni a figyelmet, hogy az információ van írva, hogy a rendszer log ..)

m: Információkat jelenít meg a memóriában.

t: Információkat jelenít meg a futó feladatokat.

0-9: beállítja a megadott szint hibakereső adat kimenet a konzolra.

e: küld SIGTERM jelet (annak érdekében, hogy a teljes munka), hogy az összes folyamatot kivéve init.

i: küld SIGKILL jelet (abszolút befejezése), hogy az összes folyamatot, kivéve az init.

l: küld SIGKILL jelet minden folyamat, beleértve az init (akkor nem csinál semmit utána).

„H” - kijelzők segítségével (valójában bármely más gombot, a fentiektől eltérő, okoz egy igazolást, de a „h” könnyebb megjegyezni :-).

üzemszünet

Hogyan tudom kikapcsolni a SysRq mód? A dokumentáció (sysrq.txt) semmi sem biztos ebben a tekintetben. Mond megnyomja a bal és jobb oldali Ctrl, Alt billentyűk és Shift vannak de a munka sokkal könnyebb út. Csak nyomja meg az Alt + SysRq újra, és hagyja ezt a módot.

Megértettem: a kernel emlékszik az állam a mágikus SysRq: préselt vagy engedni. Ha megnyomja az első alkalommal, az állam megváltozott az érintés. És ha bármely gomb megnyomásával, miközben SysRq megnyomásakor a kernel úgy értelmezi, hogy egy parancsot. Ha megnyomja a SysRq ismét változik az állapota, hogy a kijelölt, és további billentyűlenyomásaival dolgozzuk fel a program által megkövetelt. (Tulajdonképpen ez nem könnyű. Néha a fenti módszer nem működik. Azt hiszem, ez azért van, mert a rendszermag külön fordítási kódtáblázatként, amikor mágikus SysRq van nyomva.)

SysRq eredetileg azt jelentette, ahogy sejtem, „System Request”. Ezt használták az első IBM terminálok a központi számítógép a parancs végrehajtásához. Ezt a kulcsot már ritkán alkalmazzák, ahol, kivéve talán, a Linux kernel.

biztonság

Legyen elérhető a mágikus SysRq egy futó gép (szerver) lehet potenciálisan veszélyes. Bárki, aki fizikailag hozzáfér a gép „csepp” autó. Azt is meg kell tiltani SysRq, ha más emberek távolról létre a gépen. jel , Küldött egy távoli konzolról, akkor kell értelmezni, , és a következmények lehetnek szörnyű. További információkért lásd: Remote-Serial-Console-HOWTO.

következtetés

Haq magic SysRq néha nagyon kényelmes. Bármi is volt, használja óvatosan. Ez is ad egy kis betekintést a belső működését a kernel. Ha szeretné, akkor felveheti a saját több csapat!

Én befejezte a középiskolát, és él Hassan, Karnataka, India, (Hassan, Karnataka India) igyekszem egyensúlyt a tanulmányaimat és a tanulás Linux.

Vikas G P. fordítás: Vladimir Közel - SysRq: Process Killer Print