我在Java程序中启动了一个Apache HTTP服务器。不幸的是,我不能通过"httpd.exe -k stop“命令从程序中停止服务器。错误消息是"(OS 5)访问被拒绝。:无法打开Apache2.2服务“。我的操作系统是Windows 7。如何从Java程序停止服务器?(手动停止服务器不是一个选项。)
更新:我无法更改Windows权限。
发布于 2011-05-17 14:33:10
一个肮脏但简单的java解决方案是调用:
Runtime.getRuntime().exec("taskkill /F /IM httpd.exe");发布于 2011-05-17 03:56:52
可以编写一个CGI脚本,将其部署到Apache中,然后从Java调用它。
从理论上讲,该脚本将以与Apache本身相同的权限运行,并且可以包含停止服务器所需的代码( apachectl、-k、stop )。
为了安全起见,CGI脚本只接受本地主机连接,并且需要密码。如果满足所有要求,它将发出上述调用。
发布于 2011-05-16 21:03:00
看起来你需要以管理员身份运行你的程序。看一下这个问题:Java: run as administrator
https://stackoverflow.com/questions/6017746
复制相似问题