Linux系统的守护进程(Daemon Process)

本文详细介绍了Linux系统中的守护进程,包括常见守护进程如init、inetd、crond等,以及如何编写守护进程,强调了守护进程的编程规则和出错记录的方法,特别是syslog函数在日志记录中的作用。

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

这篇文章介绍守护进程的概念, 结构, 编写守护进程以及报告进程错误状况. 

1. 概念:

守护进程又称为精灵进程(daemon), 是生存时间比较长的一种进程. 它们常常在系统自举时启动, 仅在系统关闭时才终止. 因为它们没有控制终端, 所以说它们是在后台运行的. 先来介绍一些Linux系统常见的守护进程:

  • init: 它的pid为1, 是系统守护进程, 负责启动系统服务, 这些服务通常自己也拥有守护进程.
  • keventd: 为在内核中运行计划执行的函数提供进程上下文.
  • kapmd: 对计算机系统中具有的高级电源管理提供支持.
  • kswapd: 页面调出守护进程(Pageout Daemon), 它通过将脏页面(Dirty Page)以低速写到磁盘上, 使这些页面在需要时仍然可以回收使用, 这种方式支持虚存子系统.
  • bdflush: 当可用内存达到下限时, 将脏缓冲区从缓冲池中冲洗到磁盘上.
  • kupdated: 将脏页面冲洗到磁盘上.
  • portmap: 提供将RPC(Remote Procedure Call, 远程过程调用)程序号映射到网络端口号的服务.
  • syslogd: 提供把系统消息记入日志的接口, 供需要的程序使用. 可以打印到termino也可以写到文件.
  • inetd: 侦听系统网络接口, 以便取得来自网络的各种网络服务请求.
  • crond: 在指定的日期和时间执行指定的命令. 使定期地执行相关程序得意实现.
  • cupsd: 打印假脱机进程, 它处理对系统提出的所有打印请求.
  • nfsd, lockd, rpciod: 提供对网络文件系统的支持(Network File System).

 

2. 编程规则:

  • 首先要调用umask将文件模式创建屏蔽字设置为0.
  • 调用fork, 然后使父进程退出. 这样做为了实现下面几点:
    • 如果该守护进程是作为一条简单shell命令启动的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值