一、守护进程的概念与特点

  • 守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,在系统关闭时才终止
  • 因为它们没有控制终端,所以说它们是在后台运行的
  • UNIX系统有很多守护进程,它们执行日常事务活动
  • 守护进程没有控制终端通常源于它们由系统初始化脚本启动,或者由某个终端由用户在shell提示符下键入命令行启动

二、守护进程的查看

APUE编程:113---进程管理(守护进程及分类)_守护进程及分类

  • 可以看到TTY为?号,表示守护进程没有控制终端
  • PPID为0的各进程通常是内核进程,它们作为系统引导装入过程的一部分而启动(init是个例外,它是一个由内核在引导装入时启动的用户层次的命令)
  • 内核进程是特殊的,通常存在于系统的整个生命期中。它们以超级用户特权运行,无控制终端,无命令行

三、守护进程启动方法

APUE编程:113---进程管理(守护进程及分类)_内核进程_02

四、常用的守护进程


kthreadd进程

  • 该进程来创建其他内核进程,所以此进程表现为其他内核进程的父进程

APUE编程:113---进程管理(守护进程及分类)_守护进程及分类_03



对于需要在进程上下文执行工作单却不被用户进程上下文调用的内一个内核组件,通常有它自己的内核守护进程,如下

APUE编程:113---进程管理(守护进程及分类)_守护进程_04


  • init进程:​进程号为1.是一个系统守护进程,除了其他工作外,主要负责启动各运行层次特定的系统服务
  • rpcbind守护进程:​提供将远程过程调用程序号映射为网络端口号的服务
  • rsyslogd守护进程:​可以被由管理员启用的将系统消息记入日志的任何程序使用。可以在一台实际的控制台上打印这些消息,也可以将他们写到一个文件中
  • inted守护进程:​它侦听系统网络接口,以便取得来自网络的对各种网络服务进程的请求
  • nfsd、nfsiod、lockd、rpciod、rpc.idmapd、rpc.statd、rpc.mountd​守护进程提供对网络文件系统(NFS)的支持。注意:前4个是内核守护进程,后3个是用户级守护进程
  • cron守护进程​:在定期安排的日期和时间执行命令
  • atd守护进程:​与cron类似,但是每个任务它执行一次
  • cupsd守护进程:​打印假脱机进程,它处理对系统提出的各个打印请求
  • sshd守护进程:​提供了安全的远程登录和执行设置

APUE编程:113---进程管理(守护进程及分类)_内核进程_05

五、守护进程的日志消息处理

  • 因为守护进程没有控制终端,所以当有事情发生时它们得有输出消息的某种方法可用,而这些消息既可能是普通的通告性消息,也可能是需由系统管理员处理的紧急事件消息。
  • syslog函数​是输出这些消息的标准方法,它把这些消息发送给syslogd守护进程。具体使用详情见文章:​