守护进程
计算机程序作为后台进程运行 / 维基百科,自由的 encyclopedia
在一个多工的电脑操作系统中,守护进程(英语:daemon,/ˈdiːmən/或/ˈdeɪmən/)[2]是一种在后台执行,而不由用户直接交互控制的电脑程序。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母d结尾,以指明这个进程实际是守护进程,并与普通的电脑程序区分开来。例如,syslogd就是指管理系统日志的守护进程,sshd是接收传入SSH连接的守护进程。
在Unix环境下,守护进程的父进程通常(但不一定)是init进程,且在UNIX系统进程层级中直接位于init之下。守护进程通常由如下方法创建:一个进程运行fork生成一个子进程然后立即终止,使得这个子进程能在init下运行;或者直接由init启动守护进程。另外,通过“fork并终止”产生的守护进程一般还需要执行其他操作,如解除此进程与任何控制终端(tty)之间的关联。这类流程在Unix上的daemon(3)已有实现。
系统通常在启动时一同启动守护进程。守护进程会执行一些任务以响应网络请求、硬件活动或其他应用程式的请求。像cron这样的守护进程还会在指定时间运行指定任务。