守护进程(精灵进程)

10 篇文章 0 订阅
6 篇文章 0 订阅

守护进程(daemon): 守护进程也叫精灵进程,是运行在后台的一种进程。它独立于控制终端,本身是一种孤儿进程,并且一般的守护进程都以d结尾,例如sshd。后台进程一般具有的性质是无输入输出,持久的运行着。


创建守护进程主要分六个步骤:

1、调用umask将文件模式创建屏蔽字设置为0(即新文件权限为6 6 6);

2、调用fork函数创建一个子进程,然后让父进程退出(保证子进程不是一个进程组的组长进程);

3、调用setsid创建一个新会话(setsid调用成功则会导致:1. 保证当前进程自称进程组。 2. 保证当前进程自成会话。3. 保证当前进程与终端无关);

4、将当前工作目录更改为根目录(因为除了根目录之外其他目录基本都可以被删除);

5、关闭不再需要的文件描述符(因为后台进程不需要进行输入输出);

6、忽略SIGCHLD信号(一般进程都会忽略掉这个信号);


创建守护进程的代码编写:



由上结果可知守护进程创建成功。


创建守护进程时有人fork两次是为了保证子进程不是会话首进程,从而保证后续不会再与其他终端关联。



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值