为什么在机器上有很多httpd进程,而我只启动一个Apache的httpd服务?

在安装了apache的linux机器上,我通过ps -ef |search了httpd grep httpd,

我看了大约10个httpd进程,为什么呢?

myuser 14732 1 0 Jan12 ? 00:00:10 /home/myuser/webserver/bin/httpd -k start myuser 14736 14732 0 Jan12 ? 00:00:00 /home/myuser/webserver/bin/httpd -k start myuser 31309 14732 0 Jan14 ? 00:00:00 /home/myuser/webserver/bin/httpd -k start myuser 31313 14732 0 Jan14 ? 00:00:00 /home/myuser/webserver/bin/httpd -k start 

谢谢。

你开始了父母,父母开始工作的孩子。

您可能需要阅读MPM上的Apaches文档 。 这是一个权威指南。 我也build议阅读一下Unix守护进程如何工作。

长话短说(幼稚)和短:

  • 你有一个“控制”的过程
  • 每个“工人”进程处理一个客户端

这些是subprocess,其数量由startservers指令控制到apache prefork或worker模块。