Как вызвать сброс сторожевого таймера моего встроенного Linux-устройства

Есть ли команда вроде

vi > out vi | out 

Что я могу использовать, чтобы вызвать сброс сторожевого таймера моего встроенного Linux-устройства?

Если у вас есть сторожевой таймер в вашей системе и драйвер, который использует /dev/watchdog , все, что вам нужно сделать, это убить процесс, который его кормит; если такого процесса нет, вы можете один раз touch /dev/watchdog чтобы включить его, и если вы не коснетесь его снова, он перезагрузится.

Вы также можете быть заинтересованы в перезагрузке устройства, используя способ «magic sysrq». Если у вас есть ядро ​​с CONFIG_MAGIC_SYSRQ скомпилированным в, вы можете echo 1 > /proc/sys/kernel/sysrq чтобы включить его, затем перезапустите echo b > /proc/sysrq-trigger . Когда вы это сделаете, он перезагружается немедленно, без размонтирования или синхронизации файловых систем.

Если вы считаете, что сторожевой таймер работает нормально, и вы хотите проверить, что он действительно способен восстановить разбитую систему, то вы можете сделать это лучше, чем ответ Шона, используя «магический sysrq», чтобы разрушить систему с паникой ядра. Синхронизация файловой системы сначала – хорошая идея, так что сделайте что-то вроде этого как root:

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

Это должно вызвать панику ядра, если sysrq включен. Затем, если вы подождите около 60 секунд (типичный тайм-аут для модуля сторожевого таймера), вы должны увидеть перезагрузку устройства. Обратите внимание, что это будет работать только с аппаратными сторожевыми устройствами, а не с модулем «softdog».