首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lseek() on /dev/watchdog导致系统崩溃

lseek() on /dev/watchdog导致系统崩溃
EN

Stack Overflow用户
提问于 2013-10-25 17:23:53
回答 1查看 217关注 0票数 1

我是这个论坛的新手,我想问专家一个问题。我编写了以下程序(这是更大的事情的一部分,但这是给我带来麻烦的代码)。

代码语言:javascript
复制
#include <unistd.h>
#include <fcntl.h>

int main()
{
    int fd;
    fd = open("/dev/watchdog",O_RDONLY);
    lseek(fd,0,SEEK_END);
    return 0;
}

困扰我的是,在我以root用户身份运行这个程序之后,20-30秒后,系统崩溃,我似乎不知道为什么。这并不是作为一个常规用户发生的。请你给我讲讲这个问题好吗?

谢谢!

PS。是的,我知道/dev/watchdog狗是一个字符文件,它是不可查找的,但这看起来确实很奇怪。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 18:58:47

看起来,/dev/watchdog狗正在做它应该做的事情。一旦您打开了/dev/watchdog狗,您就必须继续写入它,否则系统就会重新启动。也许是因为缺乏写作,而不是因为对它的打击。有关更多信息,请参见linux手册中的监视狗。

当您以非根用户的身份运行时,您的/dev/ probably打开可能刚刚失败,因此系统没有重新启动。您的代码没有检查open()中的错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19595945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档