Por que 9 processos do httpd estão em execução quando eu inicio o httpd na inicialização?

2

A pgrep httpd yeilds 9 pids:

1624
1651
1652
1653
1654
1655
1656
1657
1658

Se eu matar o processo do httpd com o primeiro pid (aqui 1624 ), todo o processo httpd será eliminado.

Embora se elimine os processos com o pid diferente do primeiro, apenas esse processo é eliminado. E assim que o número de processos httpd for inferior a 6, ele gerará processos httpd e o número do processo httpd será mantido em constante 6.

Isso não acontece quando eu inicio o httpd manualmente. apenas um processo criado.

  • why is the above behaviour?
  • Is httpd getting started as thread based?

Also I am running httpd on Fedora 15 on a 6 core processor.

E eu não mudei nada em /etc/sysconfig/httpd cada linha em /etc/sysconfig/httpd é comentada.

    
por ThinkingMonkey 13.01.2012 / 20:21

2 respostas

7

O comportamento depende de qual MPM você está usando, mas sim, é esperado; estes são processos de trabalho. Procure a diretiva StartServers em sua configuração.

    
por 13.01.2012 / 20:31
3

Quando você inicia o httpd através do serviço ou /etc/init.d/httpd, ele lê / etc / sysconfig / httpd, se o HTTPD não for alterado, ele inicia o modelo prefork. Quando você está iniciando manualmente, provavelmente está iniciando o modelo baseado em trabalho. Se você olhar /etc/httpd/conf/httpd.conf e procurar por prefork, você encontrará as seções relacionadas a cada modelo. StartServers diz quantos processos para carregar.

    
por 13.01.2012 / 20:32