创建守护进程为什么要fork两次

一、守护进程的基本概念:
守护进程也叫精灵进程,它是大多数服务器的载体。守护进程是一种运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或是等待处理某些发生的时间。如果想让某个进程不因为用户或中断或其他变化而影响,那么就必须把这个进程变成一个守护进程。


举个例子:在现实生活中, 许多大型的软件或服务器必须保证7*24小时(一周7天,一天24小时)无障碍的运行,例如淘宝网、百度搜索引擎、支付宝等等,那么像这样一种要一直运行的程序怎么实现呢?究其本质其实就是我们的守护进程。


二、守护进程的特点:
1).自成进程组,自成会话,与控制终端脱关联;
2).守护进程的父进程是1号进程;
3).守护进程的命令一般以字符d结尾;
4).守护进程的生命周期是7*24小时不掉线;
5).一般的网络服务器都以守护进程的形式在后台运行,比如常见的http,ftp等等服务器都是以守护进程的形式在后台运行;



三、创建守护进程

1、查看系统中的进程

ps axj
 
 
 
  • 1

参数a表示不仅列当前用户的进程,也列出所有其他用户的进程, 
参数x表示不仅列有控制终端的进程,也列出所无控制终端的进程, 
参数j表示列出与作业控制相关的信息。



2、setsid函数 
(1)创建守护进程最关键的一步是调用setsid函数创建一个新的Session,并成为Session Leader。

#include<unistd.h>
pid_t setsid(void);
 
 
 
  • 8
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值