最近评论
正在载入评论列表...
![]() |
![]() |
在程序p8.1.c中,调用daemon函数让进程转换成守护进程后,使用了sleep函数。这只是为了说明如何编写守护进程。在实际中,处于这一位置的代码往往是一个无限的while循环。这样,守护进程直到系统关闭时才会终止,下面给出相关的伪代码。
…
int main(void)
{
daemon(0,0);
while(1){
do something
}
return 0;
}
…
当while循环中的代码为查询时间,并根据时间完成一定的任务时,该程序就转换成类似于Linux系统中的crond守护进程。例如,可以在while循环中添加读写系统当前时间的代码,并判断两次读取的时间差。当到达某个时刻时(如30s)就在日志中写入相关记录。
这个程序综合了守护进程的实现和守护进程日志的实现。由于这两部分前面都有介绍,这里就不给出具体的实现,感兴趣的读者可以试着实现这一程序。