守护进程daemon

#include

int daemon(int nochdir, int noclose);
如果nochdir为零,daemon()将进程的当前工作目录更改为根目录(“/”); 否则,当前工作目录保持不变。
如果noclose为零,daemon()将标准输入,标准输出和标准错误重定向到/dev/null; 否则,不会对这些文件描述符进行更改。(参数为0时有效)
返回值:
deamon()调用了fork(),如果fork成功,那么父进程就调用_exit()退出,因此只能通过子进程看到进一步的错误。如果成功函数返回0,否则返回-1并设置errno。

 

使用示例: 一个简单的测试用例,隔60s 打印一条提示信息

#include 
#include 
#include 

int main(void)
{
	if(daemon(0, 1) == -1)
		exit(EXIT_FAILURE);
	while(1){
		printf("zhangna testing in daemon1\n");
		sleep(60);
	}
	return 0;
}

 

那么这也就是一个模板:

#include 
#include 
#include 

int main(void)
{
	if(daemon(0, 1) == -1)
		exit(EXIT_FAILURE);
	
   //编写程序需要做的事情

	return 0;
}

 

你可能感兴趣的:(随笔,c语言,daemon)