
這就是我從 Perl 腳本重新啟動 Apache 所需的全部內容嗎?
system("C:\\Apache24\\bin\\httpd.exe -k restart");
我試圖驗證這是否確實重新啟動了 Apache,但找不到我的 Apache 日誌檔案。在 Windows 工作管理員的服務標籤下查看 Apache 服務沒有獲得更新的 PID 號碼。我還檢查了是否可以在“Windows 電腦管理”>“系統工具”>“事件檢視器”>“Windows 日誌”標籤中看到任何活動,以查找任何可能暗示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");
但前提是它是在管理/提升的 cmd 中執行的。