Назад | Перейти на главную страницу

Почему на машине много процессов httpd, в то время как я запустил только одну службу apache httpd?

на Linux-машине с установленным apache я выполнил поиск httpd с помощью ps -ef | 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

Спасибо.

Вы запустили родительский элемент, а родитель запустил дочерние элементы-рабочие.

Это дочерние процессы, количество которых контролируется стартовые серверы директива для apache Prefork или рабочий модули.

Вы можете прочитать Документация Apache по MPM. Это исчерпывающее руководство. Я также рекомендовал бы прочитать, как в целом работают Unix Daemons.

Длинная история (наивная) и короткая:

  • У вас есть "контролирующий" процесс
  • Каждый "рабочий" процесс обрабатывает клиента