Как я понимаю, при service httpd2 stop управление возвращается сразу, без ожидания завершения дочерних процессов. Это препятствует выполнению service httpd2 stop && service httpd2 start В /etc/init.d/httpd2 restart реализован с использованием sleep: restart() { stop sleep 1 conftest || exit $? start } Возможно, это в основном помогает. При использовании monit для слежения за httpd2 возникает проблема: monit выполняет start и потом stop без паузы. Таким образом monit практически неспособен перезапустить httpd2. Нужно найти какое-то решение.
apache2-2.2.22-alt4 -> sisyphus: * Fri Aug 10 2012 2012 Aleksey Avdeev <solo@altlinux> 2.2.22-alt4 - %apache2_sbindir/apachectl%apache2_branch replaced by the "official" apachectl (patched) (Closes: #27086) - The function stop() in %_initdir/%apache2_dname now waiting (maximum 300 seconds) of the actual completion of the demon (Closes: #11531, #27091)