我系统上的硬件看门狗需要以小于 60 秒的间隔0
进行写入,否则它将触发。/dev/watchdog
但是,文件句柄必须保持打开状态,否则看门狗将被禁用。
例如
echo "0" > /dev/watchdog
不起作用,因为文件句柄在回显完成后关闭。
有没有什么方法可以在 bash 中设置一个循环,0
定期写入/dev/watchdog
但保持文件句柄打开?
答案1
while true; do
echo "0"
sleep 30
done > /dev/watchdog
答案2
听起来你想要一个守护进程:
while sleep 50; do
echo 0
done > /dev/watchdog
这里的文件句柄在循环结束之前不会关闭。请注意,如果由于某种原因执行被阻止超过 10 秒,则可能会失败。这不太可能发生,但在技术上是可行的。
您最好编写一个while
条件,其中也包括看门狗失败的条件。