Isso é tudo que preciso para reiniciar o Apache de dentro do meu script Perl?
system("C:\\Apache24\\bin\\httpd.exe -k restart");
Tentei verificar se isso realmente reinicia o Apache, mas não consigo encontrar meu arquivo de log do Apache. E olhando no Gerenciador de Tarefas do Windows sob a marca Serviços, o serviço Apache não obteve um número PID renovado. Também verifiquei se havia alguma atividade nas guias Windows Computer Management > System Tools > Event Viewer > Windows Logs, para qualquer coisa que pudesse sugerir se o Apache reiniciou, mas não encontrou nenhuma atividade. E agora não tenho certeza se esse código está funcionando.
Eu acho que eu poderia apenas fazer um
system("C:\\Apache24\\bin\\httpd.exe -k stop");
e veja se isso matou o Apache...
Atualização: tentei pará-lo na janela do cmd e obtive
(OS 5) Acesso negado. : AH10014: Falha ao abrir o serviço 'Apache2.4'
... descobri que não estava executando em um administrador elevado: janela do prompt de comando. Portanto, provavelmente o script Perl também não teria o direito de executar esse comando.
O script Perl funciona:
mas somente se for executado em um cmd administrativo/elevado.