apue 第十三章 守护进程

本文详细介绍了守护进程的特征,包括其编程规则、错误记录方法及如何确保单实例运行。探讨了父进程ID为0的内核进程特性,以及创建守护进程的六个步骤,如设置文件权限、脱离终端会话、改变工作目录等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

守护进程

守护进程的特征

父进程ID为0 的进程通常为内核进程

编程的规则

1.将文件的创建屏蔽字设置为0

  • 让其拥创建任何权限文件的能力

2.调用fork,然后让父进程退出

  • 如果父进程是shell,可以让shell知道命令已经结束了
  • 保证子进程不是一个进程组的组长

3.调用一个setsid创建一个新会话

  • 子进程成为一个新会话的首进程
  • 成为一个新的进程组的组长
  • 这儿如果是新会话的首进程,那么就会获得控制终端
  • 解决办法1:再次调用fork,父进程终止。方法二:无论何时打开一个终端都设置O_NOCTTY参数

4.改变继承来的目录,变为根目录

5.关闭我们不需要的文件描述符

6.某些守护进程打开/dev/null使其具有文件描述符

0、1、2

出错记录

三种产生日志的消息的方法

  • 内核调用log函数
  • 用户进程(守护进程)调用syslog函数产生日志信息
  • 外部主机利用网络协议传输日志消息

单实例进程

在任何时刻只允许运行该守护进程的一个副本,不能同时运行。(可能有竞争的问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值