
Isso é tudo que preciso para reiniciar o Apache a partir 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 na tag Serviços, o serviço Apache não obteve um número PID renovado. Também verifiquei se conseguia ver alguma atividade nas guias Gerenciamento do computador Windows > Ferramentas do sistema > Visualizador de eventos > Logs do Windows, 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.
Acho que poderia fazer apenas um
system("C:\\Apache24\\bin\\httpd.exe -k stop");
e veja se isso matou o Apache ...
Atualizar: Tentei pará-lo na minha janela cmd e consegui
(SO 5)Acesso negado. : AH10014: Falha ao abrir o serviço 'Apache2.4'
... descobri que não estava executando em uma janela Administrador: Prompt de Comando elevado. Então provavelmente o script Perl também não teria o direito de executar esse comando.
Responder1
Este script Perl funciona:
system("C:\\Apache24\\bin\\httpd.exe -k restart");
mas somente se for executado em um cmd administrativo/elevado.