守护进程最重要的特性是后台运行。
守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符、控制终端、会话和进程组、工作目录以及文件创建掩码等。这些环境通常是守护进程从执行它的父进程(特别是Shell)中继承下来的。
守护进程的启动方式有其特殊之处。它可以在Linux系统启动时从启动脚本/etc/rc.d中启动,也可以由作业规划进程crond启动,还可以由用户终端(通常是Shell)执行。
通过ps –aux命令可查看Linux环境下的守护进程:
(1)Init系统守护进程:它是进程1,负责启动各运行层次特定的系统服务。
(2)Keventd守护进程:为在内核中运行计划执行的函数提供进程上下文。
(3)Kswapd守护进程:也称为页面调出守护进程。它通过将脏页面以低速写到磁盘上,从而使这些页面在需要时仍可回收使用,这种方式支持虚存子系统。
(4)bdflush和kupdated守护进程:Linux内核使用两个守护进程bdflush和kupdated将调整缓存中的数据冲洗到磁盘上。当可用内存达到下限时,bdflush守护进程将脏缓冲区从缓冲池中冲洗到磁盘上,每隔一定时间间隔,kupdated守护进程将脏页面冲洗到磁盘上,以便在系统失效时减少丢失的数据。(www.xing528.com)
(5)portmap端口映射守护进程:提供将RPC(远程过程调用)程序号映射为网络端口号的服务。
(6)syslogd守护进程:可由帮助操作人员把系统消息记入日志的任何程序使用。
(7)inetd守护进程(xinetd):侦听系统网络接口,以便取得来自网络的对各种网络服务进程的请求。
(8)nfsd、lockd、rpciod守护进程:提供对网络文件系统(NFS) 的支持。
(9)cron守护进程:在指定的日期和时间执行指定的命令。许多系统管理任务是由cron定期地执行相关程序而实现的。
(10)cupsd守护进程:是打印假脱机进程,它处理对系统提出的所有打印请求。
注意:大多数守护进程都以超级用户(用户ID为0)特权运行,没有一个守护进程具有控制终端,其终端名设置为问号(?)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。