Скрипт Perl для перезапуска Apache в Windows

Скрипт Perl для перезапуска Apache в Windows

Это все, что мне нужно для перезапуска Apache из моего скрипта Perl?

system("C:\\Apache24\\bin\\httpd.exe -k restart");

Я попытался проверить, действительно ли это перезапускает Apache, но не могу найти файл журнала Apache. И, просматривая диспетчер задач Windows под тегом «Службы», служба Apache не получила обновленный номер PID. Я также проверил, можно ли увидеть какую-либо активность в Windows Computer Management > System Tools > Event Viewer > Windows Logs, на предмет чего-либо, что могло бы намекнуть, что Apache действительно перезапускался, но не обнаружил никакой активности. И теперь я не уверен, работает ли этот код.

Я думаю, я мог бы просто сделать

system("C:\\Apache24\\bin\\httpd.exe -k stop");

и посмотрим, убьёт ли это Апачи...


Обновлять: Я попытался остановить его в окне cmd и получил

(OS 5) Доступ запрещен. : AH10014: Не удалось открыть службу «Apache2.4»

... оказалось, что я не работал под повышенными правами администратора: окно командной строки. Так что, вероятно, скрипт Perl также не имел права выполнять эту команду.

решение1

Этот скрипт Perl работает:

system("C:\\Apache24\\bin\\httpd.exe -k restart");

но только если он выполняется в административной/повышенной командной строке.

Связанный контент