updating
linux看门狗的使用
freertos看门狗的使用
一、看门狗简介
看门狗,又叫Watchdog timer(看门狗定时器)是一种电子计时器,其用于检测和恢复计算机故障。一般有一个输入和一个输出,其中的输入叫做喂狗( kickingthe dog or service the dog)。输出一般连接到另外一个部分的复位端。
CPU正常工作时,按照设定的程序,每隔一段时间就输出一个信号到喂狗端,实际操作是给看门狗计数器清零,如果超过了一定时间没有信号到喂狗端进行喂狗,来做清零操作,一般就认为程序运行出了意外,不管意外类型是什么样的,这时候看门狗电路就会给出一个复位信号给CPU的复位端,使CPU强制复位,
Watchdog timer通常出现在嵌入式系统或设备中,在这些设备中,人们无法轻易访问设备或无法及时对故障作出反应。在这样的系统中,如果计算机挂起,计算机就不能依赖于人来调用重启; 它必须靠Watchdog timer来复位。
二、linux看门狗
1、linux软件看门狗
当我们编写服务器代码时,为了让自己的服务器在意外崩溃时能够及时的重启,软件看门狗就显示出它的作用了,看门狗进程是通过fork一个子进程(业务进程),父进程一旦捕获到了子进程的结束信号就重新再fork一个子进程来实现的。
本例代码为测试当子进程出现错误崩溃后,父进程(看门狗)能够让子进程再次重启。