![在 Windows 中重新启动 Apache 的 Perl 脚本](https://linux22.com/image/786341/%E5%9C%A8%20Windows%20%E4%B8%AD%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%20Apache%20%E7%9A%84%20Perl%20%E8%84%9A%E6%9C%AC.png)
这就是我从 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");
看看这是否会杀死 Apache......
更新: 我尝试在 cmd 窗口中停止它,但
(OS 5)访问被拒绝。:AH10014:无法打开“Apache2.4”服务
... 我发现我没有在提升的管理员权限下运行:命令提示符窗口。因此,Perl 脚本可能也没有权限执行该命令。
答案1
该 Perl 脚本的工作原理如下:
system("C:\\Apache24\\bin\\httpd.exe -k restart");
但只有以管理/提升的权限执行时才有效。