我可以编写什么程序来冻结/挂起我的程序来测试看门狗定时器?

时间:2012-03-21 05:19:52

标签: c++ linux

我可以将哪些C ++代码添加到我的程序中,这将实际冻结我的程序,以便我可以测试我的看门狗定时器。而且我怎么能让我的操作系统也冻结。谢谢!

4 个答案:

答案 0 :(得分:1)

您可以在代码中使用无限循环来运行手表:

while(true);

for(;;);

do{
}while(true);

答案 1 :(得分:0)

void sleep (int sec)
void usleep (int ms)

如果你想要一个预定的持续时间而不是无限循环。

答案 2 :(得分:0)

我一直很喜欢......

cin.get();

这将暂停系统,直到您按下一个键=)

答案 3 :(得分:0)

导致操作系统冻结?容易...

1

for (;;) {
  fork();
}

2

for (;;) {
  malloc(4*1024); // or other size, but not too big, otherwise virtual malloc
}

3。在模块中(注意!)

DEFINE_SPINLOCK(lock);
spin_lock_irq(&lock);
spin_lock_irq(&lock);

睡眠功能只会导致进程冻结,但操作系统仍然正常。要导致操作系统冻结,您应该让进程获取太多资源(例如CPU util,内存或文件desc)并且不释放。

但是只是为了测试程序的监视程序计时器(而不是OS),无限循环就足够了。