読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

SysRqキーを使ってフリーズしたシステムを復旧する

Unix・Linuxコマンド
マジックSysRqキーと呼ばれるコマンドです。 場所はPrintScreenのところにあります。 Xサーバのフリーズ状態から復帰する場合や、ファイルシステムを破壊することなくコンピュータを再起動する際によく使われます。 Linuxカーネル自身がカーネルパニックを起こしていたり、フリーズしている場合は利用できません。 ◆事前準備 OSによってはSysRqキーが無効になっている場合があるので、その場合は有効にします。 # echo 1 > /proc/sys/kernel/sysrq もしくは # emacs -nw /etc/sysctl.conf 以下を追記 Kernel.sysrq = 1 変更を反映 # sysctl -p ◆使い方 フリーズした場合、 Alt+SysRq(キーボードによってはFnキー押した状態で)+R+S+E+I+U+B と押していくだけです。この際、Alt+SysRqは常に押しておくこと、そしてそれぞれのキーはコマンドが正しく実行されるように少し長めに押しつづけることに注意してください(例えば、Rキーを1,2秒間押しつづけてから、次のSキーを入力してください)。最初にうまく動作しなかった場合は、今度はキー入力時間をさらに長めに取って、再び実行してみてください。 "Raising Skinny Elephants Is Utterly Boring" (やせこけた象を立ち上がらせるのは、本当にうんざりだ) というフレーズを覚えれば、R+S+E+I+U+Bという流れを覚えられるでしょう。 それぞれのキーの意味は、 Raw(キーボードのコントロールをXから取り戻す) tErminate(kill -15を実行し、プログラムを可能な限り通常終了させる) kIll(kill -9を実行し、プログラムを強制終了させる) Sync(メモリ上のデータをディスクに書き込む) Unmount(すべてのディスクを読み込み専用で再マウントする) reBoot(システムを再起動する) となっています。 ◆フリーズしたUbuntuを安全に終了するには 安全に終了させるためのキーは、最後のキーを除いて「Ubuntuを安全に再起動する」ときに入力したキーと変わりありません。 Alt+PrintScreen+R+S+E+I+U+Oと押していくだけです。以前と同様に、それぞれのキーはコマンドが正しく実行されるように少し長めに押しつづけることに注意してください。 それぞれのキーの意味は、ほとんどさっきと同じで、最後のコマンドだけ shutdOwn(システムを終了する)となっています。 ◆ネットワーク越し(ssh)でSysRqキーを使う バッファをsync # echo s > /proc/sysrq-trigger アンマウント&ReadOnlyでマウント # echo u > /proc/sysrq-trigger 強制Reboot # echo b > /proc/sysrq-trigger 要するに # echo キー > /proc/sysrq-trigger です。 ソース: SysRqキーを使ってフリーズしたシステムを復旧するには - Ubuntu Japanese Wiki Magic SysRQ をリモートから実行 Linux暴走時にやる奥の手(Magic System Request Key)