Restart Apache and Kill All Sub Processes
Solution 1:
The child processes should stop as soon as they finish handling their current requests. Do you really want your server drop connections in the middle of serving a page? The restarted server will handle all new connections, as it has taken over listening for new connections.
Check after a minute or so to ensure that the children of the old server have died. If they are still running then you likely have a problem.
Solution 2:
Something processes can get locked. Try:sudo /etc/init.d/apache stop
sudo pgrep apache
If the above command returns anything, do:sudo pkill -9 apache
Then start apache again:sudo /etc/init.d/apache2 start
Solution 3:
PROCESS_APACHE=ps -ef | grep apache | awk {'print $2'}
kill -9 $PROCESS_APACHE