
複数の異なるコンピュータで動作が停止した場合、大きなダメージなしでAlt再起動するために++を使用することがよくあります。ただし、+を押して+を放さずに入力しても、コマンドが機能することがよくあります。最後のコマンドは非常に「怠惰な」ようです。このコマンドを何度も繰り返す必要がありますが、実際にはそうではありません。より多くの反復を行うまで実行しないでください。 「+を押してBを入力して+を放します」回数(常に同じ回数ではありません)。SysRqREISUB
REISU
AltSysRqAltSysRqB
AltSysRqAltSysRq
この問題が最初に発生したときは、カーネルがあまりにもしっかりとロックされていて、私のコマンドを「見るB
」ことができないからだと思いました。一般的な現象。機能するシステム(Debian、Ubuntu、LFSなど)でも簡単に再現できます。実際にカーネルをロードinit=/bin/bash
し、このbashプロンプトでそれを再現することもできます。
シリアルコンソール出力を見ると、カーネルが最終的に再起動されたことを確認した場合、REISU
印刷された複数のコマンドに対するフィードバックを1つだけ減算してすべて表示されます。B
なぜこれですか?偶発的なリセットを防ぐ一種のカーネル機能がありますか、それともバグですか(非常に奇妙です)?
マルチメディアキーのない通常のキーボードを使用しているため、Fnこの質問は重複しません。これ。
答え1
問題はソフトウェアではなくハードウェアです。キーボードキーは独立していません。約100個のキーがありますが、キーボードの内部コントローラに接続される電線は約26本だけです。
(画像ソース:dreamtime.com)
つまり、同時に押してもすべてのキーが検出されるわけではありません。それよりも近いので、RAlt常に片手を自由にして文字を入力するのに使います。しかし、ほとんどの(すべて?)PCキーボード++ではスキャンコードを送信しないようです!*SysRqLAltRAltSysRqBB
なぜ再起動になったのですか?簡単です。この半分だけ動作するコマンドでコンピュータを再起動することができないので、本当に迷惑なときに特に注意を払わずにキーの組み合わせを数回押し、時にはキーを押してから離すことを混ぜることもあります。これはまったくそうではないようです。SysRqA Linuxの一般修飾子は次のとおりです。 Magic-SysRqモードは、Altリリース後もアクティブSysRqのままですAlt。これで動作するように見える順序は次のとおりです。
- ~によるとRAlt
- ~によるとSysRq
- 解放するSysRq
- ~によるとB
- 再起動を見る
状況がより単純に見えるため、LAltキーボードは+を押し続けているBことを検出できるため、問題はありません。しかし、私はいつも使用しているので、以前はこれに気づいたことはありません。LAltSysRqRAlt
興味深いことに、この問題は古くから知られていたようで、その解決策も私が経験的に見つけたようです。カーネルソースツリーでは、ドキュメント/sysrq.txt(強調):
x86で - 「ALT-SysRq-<コマンドキー>」キーの組み合わせを押します。注 – 一部のキーボードには「SysRq」というラベルの付いたキーがない場合があります。 「SysRq」キーは「Print Screen」キーとも呼ばれます。また、一部のキーボードは同時に押しすぎる操作を処理できないため、「Alt」、「SysRqを押す」、「SysRqを解除」、「<コマンドキー>を押す」、すべてのキー解除を使用する方が良いかもしれません。
したがって、このヒントは正式に推奨されており、実装の信頼できない副作用ではないようです。
*実際にスキャンされたすべてのコードを報告する単純なDOSプログラムを使用してこれを確認しました。i8042各IRQ1に提供