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

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

watchdog 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

有什么方法可以释放设备,以便我可以控制C的心跳吗?

最佳答案

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

我发现的解决方案:

打开一个新的规则文件sudo nano /etc/udev/rules.d/60-watchdog.rules
并将这一行添加到文件中KERNEL=="watchdog", MODE="0666"
在此之后,我能够访问看门狗表格终端屏幕或c++程序。

关于c - 看门狗:设备或资源繁忙,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30484167/

10-11 23:19