Используя worker MPM, StartServers 3 и ThreadsPerChild 25, мы видим следующее.
vagrant@precise64:$ sudo apachectl -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Feb 13 2012 01:51:56
vagrant@precise64:$ ps -aef | grep apache2
root 6147 1 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 6148 6147 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 6149 6147 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 6150 6147 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 6151 6147 0 01:41 ? 00:00:00 /usr/sbin/apache2 -k start
vagrant@precise64:$ ps -aefL | grep apache2 | grep -v grep | awk '{print $2;}' | sort -
n | uniq -c
1 6147
1 6148
27 6149
27 6150
27 6151
Понятно, что pid 6147 - это основной процесс, 6149, 6150, 6151 - дочерние процессы. Может кто-нибудь объяснить назначение pid 6148? Он не прослушивает ни один порт.
Спасибо, Самир
Может это так: Цитата https://httpd.apache.org/docs/2.4/mod/worker.html:
В дополнение к набору активных дочерних процессов могут быть дополнительные дочерние процессы, которые завершаются, но где хотя бы один поток сервера все еще обрабатывает существующее клиентское соединение. Могут присутствовать до MaxRequestWorkers завершающие процессы, хотя фактическое количество может быть намного меньше.