在网上找了一些解释,总结归纳一下,放在这里。
守护程序(Daemon)— 操作系统的后台进程,通常具有 root 安全级别许可权。守护程序通常隐藏在后台,直至被某个事件(例如特定的时间或日期、时间间隔、收到电子邮件等)触发后它才会进入活动状态。
上面的解释还是有些抽象的,个人感觉没有一定的技术知识基础是不能理解的,何况守护程序(Daemon)也算是基础知识。其中,后台进程,root安全级别,也是一些概念,前者有了解,后者不了解
补充对后台进程的解释:运行时无须用户输入的程序。可以在诸如 UNIX/Linux 之类的多任务操作系统上运行多个后台进程,而用户则与前台进程交互(例如,数据输入)。有些后台进程(例如守护程序)从来都不需要用户输入。其它一些进程只是在用户忙于目前运行于前台的程序时才临时处于后台。
顺道解释下前台进程(Foreground Process)— 在多任务操作系统(诸如 UNIX/Linux)中,前台进程是用户当前与之交互的程序(例如,数据输入)。随着用户在程序之间切换,会导致这些程序在不同的时刻处于前台。在层叠的窗口环境中,前台进程是最前面的窗口。
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。
"守护进程"是进程运行的一种特殊状态,它的I/O不绑定到任何终端,父进程是init.
守护进程,也称为精灵进程,是一种运行在后台的特殊进程,它不存在控制终端,并周期性地执行某项任务或等待处理某项任务。
然后,刚才的文章里面用的cron进程实际上是守护进程的一种,他在规定的时间执行指定的命令或者脚本
cron守护进程执行预定的命令。如果你需要执行一些有规律(例如每天、每周或者每月)的命令,这就会非常有用。
守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的。比如,网络服务inetd、Web服务http等。同时,守护进程完成许多系统任务。比如,作业规划进程crond、打印进程lqd等。
守护进程及其特性
守护进程最重要的特性是后台运行。在这一点上,DOS下的常驻内存程序TSR与之相似。
其次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符、控制终端、会话和进程组、工作目录以及文件创建掩码等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。
最后,守护进程的启动方式有其特殊之处。它可以在系统启动时从启动脚本/etc/rc.d中启动,可以由inetd守护进程启动,可以有作业规划进程crond启动,还可以由用户终端(通常是shell)执行