O arquivo init.d normalmente é apenas um script de shell - é provável que você esteja chamando apachectl
para iniciar e parar o processo. Verifique se o comando está sendo enviado para interromper o processo e veja o que acontece quando você tenta executar qualquer comando que use diretamente, sem o arquivo init.d.
Se isso ainda não funcionar, verifique os registros de erros do seu servidor da Web para ver se há algo útil lá.
Para depuração, você também pode tentar enviar usando o comando apachectl graceful
- ele recarregará a configuração e reiniciará os processos filhos sem remover o processo principal. (o problema é que isso significa que há algumas alterações de configuração que não serão efetivadas, mas, a menos que você esteja fazendo ajustes, provavelmente não importará)