守护进程

守护进程是运行在后台的一种特殊进程。守护进程独立于控制终端,并周期性地执行某种任务或等待处理某些发生的事件。守护进程一般在系统启动时开始运行,除非强行终止,否则不会中断。守护进程大多会使用特殊端口(1-1024)或访问某些特殊资源,因此通常以root权限运行。

一个守护进程的父进程是init进程,因为它真正的父进程在fork出子进程后就先于子进程exit退出了,所以它是一个由init继承的孤儿进程。守护进程是非交互式程序,没有控制终端,所以任何输出,无论是向标准输出设备stdout还是标准出错设备stderr的输出都需要特殊处理。

守护进程的名称通常以d结尾,常见的守护进程:

  • 系统日志进程 syslogd
  • web服务器 httpd
  • 邮件服务器 sendmail
  • 数据库服务器 mysqld