Daemon函数的用法

Daemon函数的用法
说明:
让一个程序后台运行。
原型:

  #include   
  int daemon(int nochdir, int noclose);  

参数:
当 nochdir为零时,当前目录变为根目录,否则不变;
当 noclose为零时,标准输入、标准输出和错误输出重导向为/dev/null,也就是不输出任何信 息,否则照样输出。
返回值:
deamon()调用了fork(),如果fork成功,那么父进程就调用_exit(2)退出,所以看到的错误信息 全部是子进程产生的。如果成功函数返回0,否则返回-1并设置errno。
示例:

  #include   
  #include   
  #include   
  #include   
  #include   

  int main(int argc, char *argv[])  
  {  
  char strCurPath[PATH_MAX];  

if(daemon(1, 1) < 0)  
{  
    perror("error daemon.../n");  
    exit(1);  
}  
sleep(10);  

if(getcwd(strCurPath, PATH_MAX) == NULL)  
{  
    perror("error getcwd");  
    exit(1);  
}  
printf("%s/n", strCurPath);  
return 0;  

}

假如运行成功,父进程在daemon函数运行完毕后自杀,以后的休眠和打印全部是子进程来运行。
可以修改daemon函数的参数来查看效果。
可以去掉daemon一句,用./a.out&来验证效果。

你可能感兴趣的:(Daemon函数的用法)