Apache restart explained
Answer:
1. apachectl -k restart
Sending a restart signal to the Apache parent process and causes it to kill off its children, but the parent process doesn't exit. It re-reads its configuration files, re-opens any log files and continues serving users.
2. apachectl -k graceful
Similar to (1), except the the child process will exit after they have finished their current request.
3. apachectl -k stop && apachectl -k start
The Apache parent process is killed immediately and the Apache is start up again. This is the only way to cleanup cached program data (e.g. using mod_perl) stored in the Apache parent process, method (1) and (2) do not work in this case since only child process are killed.
Reference: http://httpd.apache.org/docs/2.2/stopping.html