Iniciar o apache2 inicia três processos

Iniciar o apache2 inicia três processos

Gostaria de saber por que o comando para iniciar o servidor apache2 realmente inicia três processos

Na verdade, digitando este comando:

sudo apache2ctl -k start

então, digitando este comando:

ps aux | grep apache2

fornece três processos correspondentes ao apache2. Isso é normal?

Responder1

Sim. O Apache possui vários módulos de processamento diferentes para lidar com solicitações. Os mais comuns são workere prefork. Ambos usam vários processos. Preforkusa um processo por conexão de cliente e sempre garante que haja alguns processos ociosos disponíveis para lidar com novas conexões sem demora. Workerainda utiliza vários processos mas também utiliza threads nesses processos. Isso usa menos recursos em comparação, preforkmas ainda precisa de vários processos normalmente.

Um processo que você vê é provavelmente o processo "mestre" que abre as portas TCP e aguarda conexões e passa as conexões de entrada para um processo Apache diferente para fazer o processamento real. Os outros processos são processos de trabalho, de preforkou de workermódulo.

informação relacionada