守护进程以及fork两次的问题

守护进程?
守护进程也称“精灵进程”,一般而言,守护进程7*24h运行着,它不受用户登录与注销的影响。Linux中的很多系统服务进程就是守护进程。

如何识别守护进程?
凡是TPGID为-1的进程都是守护进程,通常守护进程的命名以”d”结尾,表示daemon。这里写图片描述

守护进程的特点
(1)独立于控制终端。
控制终端可以给进程发送信号,而这些信号可能会导致进程退出,这就使得进程不能正常的处理某些任务,特别是系统任务。所以就需要让进程独立于控制终端去执行某些任务或处理某些事件。
(2)守护进程是孤儿进程。
因为守护进程的父进程是1号进程init。
(3)守护进程自成会话,且是会话的话首进程。
这要求调用setsid()创建会话的进程不能为进程组的组长进程即进程组中的第一个进程,所以当前进程要先fork()创建出子进程再调用setsid()。
(4)守护进程自成进程组,且是进程组的组长进程。
(5)守护进程不受用户登录和注销的影响。
守护进程独立于控制终端,不能直接和用户交互。

如何创建守护进程&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值