看门狗:设备或资源繁忙

TMi*_*hel 6 c linux watchdog raspberry-pi

我正试图/dev/watchdog从C中提供看门狗设备 - 在Raspbian中.

问题是无论我如何尝试访问设备总是抛出繁忙或权限被拒绝的错误(因为该进程已经在运行并由系统提供...).

看门狗API中'..驱动程序不会禁用看门狗,除非在关闭文件之前已经将特定的魔术字符"V"发送到/ dev/watchdog.但后来我又写不了/dev/watchdog ..我试过了:

echo V > /dev/watchdog //bash, /dev/watchdog: Permission denied

open("/dev/watchdog", O_WRONLY); //C, Device or resource busy
Run Code Online (Sandbox Code Playgroud)

有没有办法释放设备,以便我可以控制C的心跳?

moz*_*zer 5

当我使用Raspberry Pi时,我遇到了这个问题.我的应用程序使用了大量CPU时间 工作1或2天后,它会导致Raspberry pi挂起.所以我决定使用wtchdog.当我想从C++程序编写看门狗设备时,我得到了同样的错误.

我发现的解决方案:

打开一个新的规则文件 sudo nano /etc/udev/rules.d/60-watchdog.rules

并将此行添加到该文件 KERNEL=="watchdog", MODE="0666"

在此之后,我能够访问看门狗表格终端屏幕或c ++程序.