zoukankan      html  css  js  c++  java
  • Daemon函数的用法

    Daemon函数的用法

    说明:

    让一个程序后台运行。

    原型:

     

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

    参数:

    nochdir为零时,当前目录变为根目录,否则不变;

    noclose为零时,标准输入、标准输出和错误输出重导向为/dev/null,也就是不输出任何信 息,否则照样输出。

    返回值:

    deamon()调用了fork(),如果fork成功,那么父进程就调用_exit(2)退出,所以看到的错误信息 全部是子进程产生的。如果成功函数返回0,否则返回-1并设置errno

    示例:

     

    1. #include <stdio.h>  
    2. #include <stdlib.h>  
    3. #include <unistd.h>  
    4. #include <fcntl.h>  
    5. #include <limits.h>  
    6.   
    7. int main(int argc, char *argv[])  
    8. {  
    9.     char strCurPath[PATH_MAX];  
    10.   
    11.     if(daemon(1, 1) < 0)  
    12.     {  
    13.         perror("error daemon.../n");  
    14.         exit(1);  
    15.     }  
    16.     sleep(10);  
    17.   
    18.     if(getcwd(strCurPath, PATH_MAX) == NULL)  
    19.     {  
    20.         perror("error getcwd");  
    21.         exit(1);  
    22.     }  
    23.     printf("%s/n", strCurPath);  
    24.     return 0;  
    25. }  

    假如运行成功,父进程在daemon函数运行完毕后自杀,以后的休眠和打印全部是子进程来运行。

    可以修改daemon函数的参数来查看效果。

    可以去掉daemon一句,用./a.out&来验证效果。

  • 相关阅读:
    你必须知道的关于大数据的七个概念
    SAS中的聚类分析方法总结
    SAS中的聚类分析方法总结
    数据分析的关键是制定聪明的决策
    数据分析的关键是制定聪明的决策
    想使用 MongoDB ,你应该了解这8个方面!
    利用crtmpserver搭建rtmp服务器
    【leetcode】Jump Game I, II 跳跃游戏一和二
    iOS中从零開始使用protobuf
    session.use_cookies有什么作用,
  • 原文地址:https://www.cnblogs.com/zxc2man/p/8244951.html
Copyright © 2011-2022 走看看