Using worker MPM, StartServers 3 and ThreadsPerChild 25, we see following.
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
It is clear that pid 6147 is main process, 6149, 6150, 6151 are child processes. Can someone explain purpose of pid 6148? It does not listen on any port.
Thanks, Sameer