Linux守护进程概念及创建一个守护进程

目录

一、概念 

二、守护进程创建的原理

三、守护进程创建步骤 


一、概念 


    守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。
    它是一个生存期较长的进程
    它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件
    守护进程常常在系统引导装入时启动,在系统关闭时终止

    Linux系统有很多守护进程,大多数服务都是用守护进程实现的 

二、守护进程创建的原理

    守护进程是通过普通进程经过改变变成守护进程。
    如何把一个进程变成守护进程?
    
    在Linux中,每一个系统与用户进行交流的界面称为终端
    每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端
    当控制终端被关闭时,相应的进程都会被自动关闭。
        

三、守护进程创建步骤 

    // 1, 创建子进程
    if((pid = fork()) < 0){
        perror("fork");
        exit(1);
    }else if(pid)
        exit(0);

    // 2, 创建会话
    if(setsid() < 0){
        perror("setsid");
        exit(1);
    }

    // 3, 再创建子进程
    if((pid = fork()) < 0){
        perror("fork");
        exit(1);
    }else if(pid)
        exit(0);

    // 4, 关闭继承父进程的文件描述符
    int i,max_fd = sysconf(_SC_OPEN_MAX);
    for (i = 0; i < max_fd;i++)
        close(i);

    // 5, 重定向标准输入,标准输入,标准错误
    open("/dev/null",O_RDWR);
    dup(0);
    dup(0);
    // 6, 设置守护进程的工作目录
    chdir("/");

    // 7, 消除umask影响
    umask(0);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值