- 論壇徽章:
- 0
|
我的問題是這樣的:
建立一個線程thread_watchdog
該線程用來喂狗
大致代碼如下:
int wdt_fd = -1;
wdt_fd = open("/dev/watchdog", O_WRONLY);
if(wdt_fd == -1)
{
/*Fail to open watchdog device*/
printf("open watchdog device fail!\n");
return ;
}
else
printf("open watchdog device successfully!\n");
while(1)
{
/*Send bone to system softdog every 35 seconds*/
if(write(wdt_fd, "a", 1) < 0)
{
printf("send bone to system sodftdog fail!\n");
}
else
printf("send bone to system softdog!\n");
sleep(35);
}
我的目的是:保證自己軟件的高可用性,就是說自己的軟件down了以后,watchdog要幫我把他重啟。
在測試中:我使用CTRL+C殺死了自己的進(jìn)程,但是結(jié)果卻沒有被重啟起來,這是為什么呢?
有經(jīng)驗的達(dá)人,指點迷津 :) |
|