我的设备上正在运行C ++应用,这是Raspberry PI的修改版本。应用程序正在从串行端口读取数据,收到某些特定数据后,我需要重启设备。我一直在想将此功能与看门狗集成在一起,但不知道如何实现。也许有可能从我的应用程序向看门狗发送一些信号以告知该重启了吗?
P.S。应用程序作为系统服务启动。
答案 0 :(得分:1)
致电
std::system("sudo reboot");
答案 1 :(得分:0)
您为什么要那样做?使用看门狗的原因正是Marco所描述的。如果系统不响应,则看门狗触发器。通常这是必需的,因为可以说已关闭的设备不再发送任何内容,因此您需要某种触发器来让系统知道它应该重新启动。在这里,您已经从输入信号中获得了触发信号,因此看门狗被冗余了。收到数据后,只需重新启动即可。
答案 2 :(得分:0)
如果您希望设备在软件阻塞或无法访问时自动重启,则Watchdog非常有用。 如果那是您想要实现看门狗的正确选择。