守护进程(daemon)php
在linux或者unix操做系统中在系统的引导的时候会开启不少服务,这些服务就叫作守护进程。为了增长灵活性,root能够选择系统开启的模式,这些模式叫作运行级别,每一种运行级别以必定的方式配置系统。 守护进程是脱离于终端而且在后台运行的进程。守护进程脱离于终端是为了不进程在执行过程当中的信息在任何终端上显示而且进程也不会被任何终端所产生的终端信息所打断。守护进程,也就是一般说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,一般独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件。守护进程经常在系统引导装入时启动,在系统关闭时终止。Linux系统有不少守护进程,大多数服务都是经过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,做业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)。 linux
因为在Linux中,每个系统与用户进行交流的界面称为终端,每个今后终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。可是守护进程却可以突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。若是想让某个进程不由于用户或终端或其余地变化而受到影响,那么就必须把这个进程变成一个守护进程。网络
是指在UNIX或其余多任务操做系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称一般以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。操作系统
一般,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下。守护进程程序一般经过以下方法使本身成为守护进程:对一个子进程调用fork,而后使其父进程当即终止,使得这个子进程能在init下运行。这种方法一般被称为“脱壳”。unix
系统一般在启动时一同起动守护进程。守护进程为对网络请求,硬件活动等进行响应,或其余经过某些任务对其余应用程序的请求进行回应提供支持。守护进程也可以对硬件进行配置(如在某些Linux系统上的devfsd),运行计划任务(例如cron),以及运行其余任务。日志
在DOS环境中,此类应用程序被称为驻留程序(TSR)。在Windows系统中,由称为Windows服务的应用程序来履行守护进程的职责。htm
在本来的Mac OS系统中,此类应用程序被称为“extensions”。而做为Unix-like的 Mac OS X有守护进程。(在Mac OS X中也有“服务”,但他们与Windows中相似的程序在概念上彻底不相同。)进程