FrontPage

  •  あんまり使わないんでイザというとき思う出せないので転載しときます。
  • 元文書:www.linux.or.jp/JF/JFdocs/kernel-docs-2.2/sysrq.txt

  • 神秘のSYSRQキー文書 v1.2
  • ------------------------------------
  • [Sat May 16 01:09:21 EDT 1998]
  • * 神秘のSysRQキーとは!?
  • ~~~~~~~~~~~~~~~~~~~~~~

  • それは、魔法の組み合わせキーだ。このキーの組合わせを押せば、カーネルが
  • 動いている限り、どんな作業の実行中であろうと答えてくれる。これが神秘の
  • SysRQ キーなのだ。
  • * どうすれば神秘のSysRQキー有効にできるのか?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • カーネルを構築する時'Magic SysRq- key (CONFIG_MAGIC_SYSRQ)'という項目に
  • "yes"と答えれば良い。このオプションは、2.1.x以降のカーネルにのみ存在する。
  • * どう打てば、神秘のSysRQキーになる!?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • x86の場合 - 'ALT-SysRQ-<コマンドキー>'を同時に打鍵すればよい。注意 - (古い?)
  • キーボードによっては、'SysRQ'と書かれたキーがないかも知れない。この
  • キーは、'Print Screen'キーとしても知られている。
  • SPARCの場合 - 'ALT-STOP-<コマンドキー>'を押せばいいと思う。
  • PowerPCの場合 - 'ALT-Print Screen-<コマンドキー>'。
  • その他の場合 - もし、他のアーキテクチャーにおけるキーの組合せがわかれば、
  • ぜひわたしに教えてほしい。それをこの節に追加しよう。
  • * どんな'コマンドキー'があるんだ?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 'r' - キーボードrawモードをオフにし、XLATEを設定する。
  • 'k' - 現在のバーチャルコンソールでのすべてのプログラムをkillする。
  • 'b' - 即座にシステムをリブートする。その際、ディスクのsyncやアンマウント
  • は実行されない。
  • 'o' - システムをシャットオフ(つまり終了して電源OFFね)する。
  • (もしそのように設定され、かつこの動作がサポートされていればだけど)
  • 's' - すべてのマウントされているファイルシステムをsyncしようとする。
  • 'u' - すべてのマウント済みのファイルシステムを'書き込み不可'で
  • 再マウントする。
  • 'p' - 現在のレジスターとフラグをコンソールにダンプ出力する。
  • 't' - 現在のタスクのリストとその情報をコンソールにダンプ出力する。
  • 'm' - 現在のメモリ情報をコンソールにダンプ出力する。
  • '0'-'9' - コンソールのログレベルを変更する。ログレベルによってどんな
  • カーネルメッセージがコンソールに出力されるかが変わる。
  • (たとえば、'0'ではPANICやOOPSといった緊急のメッセージのみを
  • コンソールに出力するようになる。)
  • 'e' - init以外のすべてのプロセスにSIGTERMを送る。
  • 'i' - init以外のすべてのプロセスにSIGKILLを送る。
  • 'l' - SIGKILLをinitを「含む」すべてのプロセスへ送る。(そのため、
  • このあとあなたのシステムはなにもできなくなる。)
  • * わかった、じゃ何のためにつかうの?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • よく聞いてくれた。un'R'awは、Xサーバやsvgalibプログラムがクラッシュしたときに
  • とても便利なんだ。
  • sa'K' (system attention key: システム警告キー)は、コンソールを切替えさせて
  • くれないプログラム(たとえば、Xやsvgalibのプログラム)を終了させたいとおもった
  • ときに便利だ。
  • re'B'ootは、シャットダウンさせることができなくなった時に便利。ただし、
  • その前に'S'yncと'U'mountを実行しておこう。
  • 'S'ync は、システムがロックしてしまったときにばっちり使える。これはディ
  • スクにsyncを行ない、できるだけデータを失ったり、fsckしなければならない
  • 確率を下げることができる。注意としては、syncはOKとかDoneの文字が画面に
  • でるまでは、処理が済んでいないことだ。(もしカーネルが本当に大変なことになっ
  • ていたら、OKとかDoneとかのメッセージを永遠に見られない可能性もあるが……)
  • 'U'mountはの働きは基本的に'S'yncと同じで、有用なコマンドである。わたしは自分の
  • システムがロックしてしまった時は、通常'S'yncと'U'mountを実行して、その後
  • re'B'oootすることにしている。これは、多くのfsckを回避してくれた。
  • umount(ほんとは書き込み禁止で再マウントするんだけどね) の場合も、OKや
  • Doneの文字が画面にでるまでは処理が終わっていないので要注意。
  • ログレベルの'0'-'9'は、見たくもないカーネルメッセージの洪水でコンソー
  • ルがあふれてしまったようなときに有効である。'0'を設定すれば、コンソー
  • ルに届くメッセージのうちもっとも重大なカーネルメッセージを除き、すべ
  • てのメッセージを抑制してくれる。 (ただし、もし syslogd/klogd が生きて
  • いる場合、それらが書き込むログには ここで抑制したメッセージもそのまま
  • 記録され続けることになる)。
  • t'E'rmと、k'I'll は、他の方法ではkillできないようなある種の暴走したプ
  • ロセスがあったときに有効だ。特にそいつが別のプロセスを生み続けている場
  • 合には有用である。
  • * 時々SysRQを使ったのが原因で「固まる」ようにみえるけどどうすればいいの?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • その現象はわたしも経験している。そのときはキーボードの両側にあるシフト、
  • Alt、コントロールのキーを軽く叩き、さらに (そう、例えば alt-sysrq-z み
  • たいな) 無効な sysrq シーケンスを打ち込むことで良くなるようだ。別の仮
  • 想コンソールに(ALT-Fn)を使って切替えて、また戻して、再度実行するのも効
  • 果があるときがある。
  • * SysRQを押してみた。でもなにも起こったようにみえない。どこがわるい?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • いくつかのキーボードは、'SysRQ'をサポートしていない。'showkey -s'を実行し、
  • SysRQキーをおしたり、alt-SysRQキーを押して0x54というコードが生成されている
  • か見て欲しい。もし0x54が生成されなければ、別のキーシーケンスへこの機能
  • を割り当てることもできる。showkeyによって適当なキーコードを見つけ、
  • [/usr/src/linux/]include/asm/keyboard.h の'#define SYSRQ_KEY 0x54'とい
  • う定義をあなたが使いたいものに変えて再コンパイルすればよい。ああそうだ、
  • ところで、'showkey'の終了の仕方だが、10秒ほどなにもタイプしなければ、
  • ちゃんと終了するよ。
  • * ほかに質問あるんだけど、だれにきけばいいの?
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 気軽にmyrdraal@deathsdoor.comへ送ってくれ。できるだけ素早く返答するよ
  • うにするよ。もし、この電子メールアドレスがうまくいかないなら、
  • myrdraal@jackalz.dyn.ml.orgを試してみてほしい。
  • 訳注) いずれも「英語で」メールしてくださいね。:) もし、日本語で送るなら
  • 訳者の hiroshi@ChangeLog.netmiura@blue.gr.jp へ聞いてみて欲しい。
  • -Myrdraal
  • ==番外編==
  • SysRQキーの組合わせを覚える魔法の呪文
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 原文では、英語の綴りと関連させて覚えやすいように説明してあるけど、日本
  • 語を使っている人にはちょっと難しいよね。そこで、日本語での語呂合わせを
  • 考えてみたから参考にしてみて!もっといい覚え方があったら、気軽に送って
  • ほしい。宛先はJF@linux.or.jpだよ。
  • その1
  • 「タスクのダンプは tmp へ出そうよ。キーボードにはあーる(r)くんを呼び出して、
  • きえろ(kiel)と命令してタスクをころし、 subして手をあわせ祈るのだ。」
  • ち、ちょっとくるしい:)
  • その2
  • 「えい (ei) とりあえず止めちまえ (signal TERM, signal KILL)」
  • 「心配 (s) なのは埋もれた (u) 宝 (sync, umount)」
  • 「ぶっても (b) 起きない (o) ロクデナシ (l) (reboot, shutoff, kill init)」
  • 「キーの復活リバイバル (r)」
  • 「ウルサイおしゃべり、ボリューム "0" に」 (寄贈: 佐野@浜松 様)
  • これは覚えやすそうだね。
  • [翻訳,追加: 三浦広志 miura@blue.gr.jp]


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-01-03 (水) 21:45:50 (704d)