Linux进程间通信—创建守护进程

守护进程

守护进程是生存期长的一种进程。
常常在系统引导装入时启动。
它们无控制终端,故称之后台运行。


为什么要引入守护进程?

由于在linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依赖这个终端,这个终端就称为这些进程的控制终端。当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能突破这种限制,它被执行开始运转,直到整个系统关闭时才退出。

守护进程的特性:
1> 守护进程最重要的特性是后台运行。
2> 其次,守护进程必须与其运行前的环境隔离开来。
这些环境包括未关闭的文件描述符、控制终端、会话和进程组、工作目录以及文件创建掩码等。
这些环境通常是守护进程从父进程那里继承下来的。


守护进程的启动方式

(1)创建子进程,父进程退出

调用fork产生一个子进程,同时父进程退出,所有后续工作都在子进程中完成。
这样做会造成子进程没有父进程,变成一个孤儿进程(orphan)。
每当系统发现一个孤儿进程,就会自动由1号进程(init)收养它,这样,原先的子进程就会变成1号进程的子进程。
代码示例:

pid = fork();
if(pid&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值