GNU/Linux >> Linux の 問題 >  >> Linux

Magic SysRq Key を使用した Linux の安全な再起動


写真提供:KCIvey

これは によって書かれたゲスト投稿です ラクシュマナン G.

カーネル開発やデバイス ドライバに取り組んでいる場合、またはカーネル パニックを引き起こす可能性のあるコードを実行している場合、SysRq キーは非常に価値があります。魔法の SysRq キーは、Linux カーネルのキーの組み合わせであり、システムの状態に関係なく、ユーザーがさまざまな低レベル コマンドを実行できるようにします。

フリーズから回復したり、ファイルシステムを破壊せずにコンピュータを再起動したりするためによく使用されます。キーの組み合わせは Alt+SysRq+commandkey です .多くのシステムでは、SysRq キーは printscreen キーです。

まず、SysRq キーを有効にする必要があります。

echo "1" > /proc/sys/kernel/sysrq

SysRq コマンド キーのリスト

Alt+SysRq+commandkey で使用できるコマンド キーは次のとおりです。 .

  • 「k」 – 現在の仮想コンソールで実行中のすべてのプロセスを強制終了します。
  • ‘s’ – マウントされたすべてのファイル システムの同期を試みます。
  • 'b' – パーティションのアンマウントや同期を行わずに、すぐにシステムを再起動します。
  • 'e' – init 以外のすべてのプロセスに SIGTERM を送信します。
  • 'm' – 現在のメモリ情報をコンソールに出力します。
  • 'i' – init 以外のすべてのプロセスに SIGKILL シグナルを送信します
  • 「r」 – キーボードを raw モード (X11 などのプログラムで使用されるモード) から XLATE モードに切り替えます。
  • ‘s’ – マウントされたすべてのファイル システムを同期します。
  • ‘t’ – 現在のタスクとその情報のリストをコンソールに出力します。
  • ‘u’ – マウントされたすべてのファイルシステムを読み取り専用モードで再マウントします。
  • 「o」 – システムをすぐにシャットダウンします。
  • 'p' – 現在のレジスタとフラグをコンソールに出力します。
  • 「0-9」 – コンソール ログ レベルを設定し、コンソールに出力されるカーネル メッセージを制御します。
  • 「f」 – より多くのメモリを消費するプロセスを強制終了するために oom_kill を呼び出します。
  • 'h' – ヘルプを表示するために使用されます。ただし、上記以外のキーはヘルプを出力します。

これは、キーを /proc/sysrq-trigger ファイルにエコーすることでも実行できます .たとえば、システムを再起動するには、次の手順を実行できます。

echo "b" > /proc/sysrq-trigger

Magic SysRq Key を使用して Linux を安全に再起動する

ハングアップした Linux コンピューターを安全に再起動するには、次の手順を実行します。これにより、次回の再起動時に fsck が回避されます。つまり、Alt+SysRq+下で強調表示されている文字を押します。

  • unR aw (X11 からキーボードの制御を取り戻し、
  • tE rminate (すべてのプロセスに SIGTERM を送信し、正常に終了できるようにする)、
  • 悪い (すべてのプロセスに SIGILL を送信し、それらをすぐに強制的に終了させる)、
  • S 同期 (データをディスクにフラッシュ)、
  • nmount (すべてのファイルシステムを読み取り専用で再マウント)、
  • reB おっと


この記事は Lakshmanan G によって書かれました。彼は bk Systems (p) Ltd で働いており、オープン ソースへの貢献に関心があります。 The Geek Stuff は、あなたのヒントやゲスト記事を歓迎します。


Linux
  1. Linux – Sysrqはキーストロークで再起動しませんが、エコー「b」> / proc / sysrq-triggerで再起動しますか?

  2. Linux で GnuPG を使用してファイルを暗号化および復号化する方法

  3. Linux で GPG を使用して PGP キーを生成する方法

  1. Linux ユーザーにとって Magic SysRq キーはどのように危険なのですか?

  2. いつ再起動が必要ですか?

  3. 仮想マシンを使用した Linux モジュールの開発/テストは安全ですか?

  1. ProcDumpを使用してLinuxをデバッグする

  2. コマンドラインを使用してLinuxをシャットダウンまたは再起動する方法

  3. Linux – USBスティックの最初のパーティションの前にスペースをLuksキーとして使用しますか?