Frozen Xサーバーの修復、クリーンな再起動、その他の低レベルコマンドの実行には、LinuxでMagic SysRqキーを使用してください。
Linuxでは、魔法のSysRqキーはLinuxカーネルに直接コマンドを送ることができます。何も応答していないように見えても、あなたはフリーズから回復するか、またはあなたのシステムをきれいに再起動するためにそれを使うことができます.
魔法のSysRqキーはLinuxのキーボードドライバの一部として実装されています - それはLinuxカーネルがまだ実行されている限り動作します。カーネルパニックのみがこのキーの組み合わせを無効にするべきです.
Image Credit:Flickrのsolylunafamilia
Magic SysRqキーを使う
SysRqキーはキーボードのScroll Lockキーの近くにあります - Sys Rqキーは通常、Print Screenキーと同じです。 「魔法の」SysRqの組み合わせはAlt + SysRqです。.
このキーの組み合わせを使用するには、ご使用のLinuxカーネルがCONFIG_MAGIC_SYSRQコンパイルオプションでコンパイルされている必要があります - ほとんどのLinuxディストリビューションでは、これがデフォルトで有効になっています。カーネルにコンパイルされていると仮定して、実行中のシステムで/ proc / sys / kernel / sysrqの値を変更することで有効または無効にできます。有効になっているかどうかを確認するには、次のコマンドを実行します。
cat / proc / sys / kernel / sysrq
「1」が表示されている場合は、魔法のSysRqキーが有効になっています。.
「0」が表示された場合は、rootとして次のコマンドを実行して自分で有効にする必要があります。
echo“ 1”> / proc / sys / kernel / sysrq
Frozen X Serverを扱う
あなたのXサーバ(あなたのグラフィカルデスクトップを実行するプログラム)がフリーズすると、あなたは自分自身があなたのシステムを使うことができないのを感じるかもしれません。手助けになる魔法のSysRqコマンドがいくつかあります。
- Alt + SysRq + r - キーボードをrawモードから外し、Xサーバーから制御を奪います。この組み合わせを実行した後は、Ctrl + Alt + F1(および他のFキー)キーボードショートカットを使用して別のコンソールに切り替えてXを再起動できるはずです。.
- Alt + SysRq + k - Xを含む現在の仮想コンソール上のすべてのプログラムを強制終了します。Ubuntuのキーボード設定でCtrl + Alt + Backspaceキーボードショートカットを有効にしてXサーバーを再起動することもできます。.
システムをきれいに再起動する
これらのアクションのいくつかを順番に使用すると、プロセスのクリーンな終了、ディスクへのデータのフラッシュ、すべてのファイルシステムのマウント解除、およびコンピュータの再起動に使用できます。このプロセスを実行するには、Alt + SysRqキーの組み合わせを押しながら、AltキーとSysRqキーを押したまま、次のキーを順番に入力します。各キーの間で数秒間一時停止します。
再発行
ニーモニックRエイジング E象 私の S○ Uとても Bこの順序を覚えるために「oring」がよく使われます。各キーの機能は次のとおりです。
- r - キーボードをrawモードにして、それをXサーバーから切り離します。.
- e - すべてのプロセスに終了シグナルを送り、それらを適切に終了するように要求します。.
- 私 - すべてのプロセスにkillシグナルを送り、それらを即座に終了させます。.
- の - キャッシュからディスクにデータをフラッシュします.
- う - すべてのファイルシステムを読み取り専用で再マウントします.
- b - コンピュータを再起動します.
その他のコマンド
これが魔法のSysRqキーを使って実行できる他のアクションです。アクションを実行するには、Alt + SysRqキーを押しながら文字を入力します。
- n - リアルタイム優先順位の高いプロセスすべてのナイスレベル(優先順位)をリセットします。.
- f - oom_killを呼び出します。これにより、メモリを占有するプロセスが強制終了されます。.
- ○ - コンピュータの電源を切る.
他にもアクションがありますが、平均的なLinuxのオタクよりも開発者にとっては役に立つかもしれません。魔法のSysRqキーについての詳細な情報、および実行できるアクションの完全なリストについては、Linuxカーネルに含まれているsysrq.txtファイルを参照してください。.