Linuxのサーバをリモートから強制的にOSリブートする – RX-7乗りの適当な日々

やり方

少し無理矢理感はありますが、

# echo b > /proc/sysrq-trigger

を実行すると、強制的にリブートがかかります。

ただし、ファイルシステムのsyncとかumountが行われないので、注意が必要です。

通常、KernelでマジックSysRqキーは有効になっていないと思いますが、↑のように、直接”/proc/sysrq-trigger”に出力すればOKです。

シェルコマンドを受け付けない場合は、”/proc/sys/kernel/sysrq”が”1″に設定されている(カーネルでマジックSysRqキーが有効にされている)前提で、[Alt] + [SysRq/(PrtSc)] + [コマンドkey]を実行すればOKのはず。

ちなみに、上記例の場合、[コマンドkey]は”b”となります。

(安全に再起動するには)

Linuxがフリーズした際に、安全にリブートするマジックSysRqキー押下の一連の流れが、Wikipediaのページに書かれていました。

R ⇒ E ⇒ I ⇒ S ⇒ U ⇒ B

マジックSysRqキー – Wikipedia

unRaw      (X Window Systemからキーボードの制御を取り戻す) tErminate (すべてのプロセスにSIGTERMシグナルを送り、正常に終了させる) kIll      (すべてのプロセスにSIGKILLシグナルを送り、強制的に終了させる)  Sync     (書き込みキャッシュのデータをディスクに書き込む)  Unmount  (すべてのファイルシステムを読み込み専用で再マウントする)reBoot     (システムを再起動する)

参考: その他のSysRqキー

※ 以下の日本語訳は、Wikipediaのページより抜粋(汗

'b' - Will immediately reboot the system without syncing or unmounting      your disks.      即座に再起動する。この際ファイルシステムのsyncやアンマウントは行われない。'c'        - Will perform a kexec reboot in order to take a crashdump.      カーネルをクラッシュさせる。'd'        - Shows all locks that are held.      現在ホールドされているすべてのロックを表示する。'e' - Send a SIGTERM to all processes, except for init.      init (PID 1)を除くすべてのプロセスにSIGTERMシグナルを送る      (プロセスを終了させる)。'f'        - Will call oom_kill to kill a memory hog process.      メモリ不足を解消するためにプロセスを終了させる oom_kill を呼び出す。'g'        - Used by kgdb on ppc and sh platforms.      Kernel Mode Setting(KMS)使用時に、カーネルのフレームバッファコンソールに      切り替えるための緊急措置を提供する。'h' - Will display help (actually any other key than those listed      above will display help. but 'h' is easy to remember :-)      コンソールに簡単な説明を出力する。'i' - Send a SIGKILL to all processes, except for init.      init を除くすべてのプロセスにSIGKILLシグナルを送る      (プロセスを強制終了させる)。'k' - Secure Access Key (SAK) Kills all programs on the current virtual      console. NOTE: See important comments below in SAK section.      仮想端末上のすべてのプロセスにセキュア・アテンション・キー(SAK)を実行する。'l' - Shows a stack backtrace for all active CPUs.      現在実行中のすべてのタスクのバックトレースを表示する。'm' - Will dump current memory info to your console.      現在のメモリ情報をコンソールに出力する。'n'        - Used to make RT tasks nice-able      すべての高優先度およびリアルタイムタスクのniceレベルをリセットする。'o' - Will shut your system off (if configured and supported).      システムを停止させる。'p' - Will dump the current registers and flags to your console.      現在のレジスタおよびフラグをコンソールに出力する。'q' - Will dump a list of all running timers.      すべての高精度タイマおよびクロックソースを表示する。'r' - Turns off keyboard raw mode and sets it to XLATE.      キーボードをrawモードからXLATEモードへ切り替える。X Windowを使用している場合、      まずこの操作を行ってキーボードを解放する。's' - Will attempt to sync all mounted filesystems.      マウントされているすべてのファイルシステムをsyncする。't' - Will dump a list of current tasks and their information to your      console.      現在のタスクのリストとその情報をコンソールに表示する。'u' - Will attempt to remount all mounted filesystems read-only.      マウントされているすべてのファイルシステムを読み込み専用モードで再マウントする。'v'        - Dumps Voyager SMP processor info to your console.      Voyager SMPプロセッサ情報を表示する。'w'        - Dumps tasks that are in uninterruptable (blocked) state.      ブロックされている(D state)タスクのリストを表示する。'x'        - Used by xmon interface on ppc/powerpc platforms.'0'-'9' - Sets the console log level, controlling which kernel messages          will be printed to your console. ('0', for example would make          it so that only emergency messages like PANICs or OOPSes would          make it to your console.)          コンソールに出力するカーネルメッセージのログレベルを制御する。

参考

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中