web-dev-qa-db-ja.com

Apache httpdサービスを1つだけ開始したのに、マシンに多くのhttpdプロセスがあるのはなぜですか?

apacheがインストールされているLinuxマシンで、ps -ef |によって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

どうも。

4
hetaoblog

あなたは親を始め、親は労働者の子供たちを始めました。

あなたは読みたいかもしれません MPMのApachesドキュメント 。これが決定的なガイドです。また、Unixデーモンが一般的にどのように機能するかを読むことをお勧めします。

長い話(ナイーブ)と短い話:

  • 「制御」プロセスがあります
  • 各「ワーカー」プロセスはクライアントを処理します
1
Martin M.

これらは子プロセスであり、その数はApache prefork または worker モジュールへの startservers ディレクティブによって制御されます。

1
user9517