web-dev-qa-db-ja.com

組み込みLinuxデバイスのウォッチドッグリセットを発生させる方法

次のようなコマンドはありますか

vi > out
vi | out

組み込みLinuxデバイスのウォッチドッグリセットを引き起こすために使用できることは何ですか?

5
Ankur Agarwal

システムにウォッチドッグがあり、/dev/watchdogを使用するドライバーがある場合、必要なのは、それを供給しているプロセスを終了することだけです。そのようなプロセスがない場合は、touch /dev/watchdogを1回オンにして、再度タッチしないとリセットされます。

また、「マジックsysrq」の方法を使用してデバイスをリセットすることもできます。 CONFIG_MAGIC_SYSRQ機能が組み込まれたカーネルがある場合、echo 1 > /proc/sys/kernel/sysrqを有効にしてからecho b > /proc/sysrq-triggerを再起動してください。これを行うと、ファイルシステムをアンマウントまたは同期せずに、すぐに再起動します。

14
Shawn J. Goff

ウォッチドッグが正常に動作していて、クラッシュしたシステムを本当に回復できることをテストしたい場合は、「マジックsysrq」を使用してカーネルパニックでシステムをクラッシュさせることにより、Shawnの回答よりも優れた方法を実行できます。最初にファイルシステムを同期することをお勧めします。ルートとして次のようにします。

sync; sleep 2; sync; echo c > /proc/sysrq-trigger

Sysrqが有効になっていると、カーネルパニックが発生するはずです。次に、約60秒待つと(ウォッチドッグモジュールの通常のタイムアウト)、マシンが再起動します。これはハードウェアウォッチドッグでのみ機能し、「softdog」モジュールでは機能しないことに注意してください。

7
Paul Crawford

前の2つの投稿から1行に入れるだけです。

echo 1 | Sudo tee -a /proc/sys/kernel/sysrq; sync; sleep 2; sync; echo c | Sudo tee -a /proc/sysrq-trigger
0
kaptan