美文网首页
Daemon函数的用法

Daemon函数的用法

作者: felixfeihu | 来源:发表于2017-04-18 10:04 被阅读0次

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

  #include <unistd.h>  
  int daemon(int nochdir, int noclose);  

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

  #include <stdio.h>  
  #include <stdlib.h>  
  #include <unistd.h>  
  #include <fcntl.h>  
  #include <limits.h>  

  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函数的用法

      本文链接:https://www.haomeiwen.com/subject/blrrattx.html