Às vezes, quando você para o apache (ou qualquer outro programa), o script não pode desligar o programa corretamente, porque ele aguarda algo (por exemplo, IO), mas exclui o arquivo pid. Assim, o script acredita que o apache não está sendo executado porque não há arquivo pid, mas o apache é executado ou, às vezes, não é realmente necessário, mas fica preso na porta.
Nestes casos você tem que matar o processo e você pode iniciar o programa. Eu já vi muitos desses processos presos do apache, slapd, cirus, ... às vezes acontece.