magic SysRQを覚えて使いこなす
最新の情報は/usr/src/linux/Documentation/sysrq.txtを読んでください。
このページの情報は無保証です。
kernelはまだ完全には死んでないようなんだけど、shellでコマンドが実行できない…
せめて、syncしてからresetかけたいのに…
そう思ったことはないでしょうか。
完全にかたまってなければ、あるキーを押すだけで、kernelにrequestを送ることができます。
syncしてumountしてからrebootなんてこともできます。
この機能を使うためには、kernelのconfigでMagic SysRq key (CONFIG_MAGIC_SYSRQ)を
有効にしておかなければなりません。確認するには次のようにします。
# cat /proc/sys/kernel/sysrq
1
このように1とでたら有効になっています。
requestを送るにはmagic SysRQ keyを押しながらcommand keyを入力します。
magic SysRQ keyはarchitecture毎に異なります:
- x86系
ALT+SysRQ(Print Screen)
- Sparc
ALT+STOP
- PowerPC
ALT+PrintScreen
- other
unknown
次にcommand keyを解説します:
- r: keyboardをrawモードにする
- k: 現在の仮想端末上で動いている全てのプログラムをkillする
- b: syncもunmountもせずにrebootする
- o: システムをshutdownする
- s: mountしてる全てのファイルシステムのsyncを試みる
- u: mountしてる全てのファイルシステムをread onlyでremountする
- p: 現在のレジスタとフラグを表示する
- t: 現在のタスクとその情報を表示する
- m: 現在のメモリの情報を表示する
- 0〜9: ログレベルを設定する
- e: init以外の全てのプロセスにSIGTERMを送る
- i: init以外の全てのプロセスにSIGKILLを送る
- l: initも含めて全てのプロセスにSIGKILLを送る
つまりシステムがかたまってしまった時にはこうします:
ALT+SysRQを押しながら、s(sync),u(unmount),b(reboot)
注意すべきなのは、sやuは押した後ちゃんとできた時にはOK Doneという表示をする、ということです。
これがでない時にはちゃんとできなかったと思わなければなりません。
(C)Copyright 1999 by Sian <sian@big.or.jp>
Last modified: Thu Feb 26 23:04:38 JST 2004