【问题标题】:Programmatically Stopping a Windows Service from a Web App从 Web 应用程序以编程方式停止 Windows 服务
【发布时间】:2011-11-17 11:40:27
【问题描述】:

我有一个 Web 应用程序在 Windows 7 和 Server 2008 上的 GlassFish 3.1 服务中运行。我希望这个应用程序能够控制同一台机器上的许多其他服务。特别是我希望它能够启动和停止 Tomcat 服务。

本质上,该应用程序充当我在机器上部署的其他应用程序的控制器,因此我可以在受控应用程序上设置任何必要的安全性。

我注意到 .Net 有一个 ServiceController 类,所以我假设编程控制是可能的,但如果可能的话,我非常喜欢纯 Java 解决方案。

我所做的所有搜索都发现了很多关于将 Java 作为服务运行的信息,而关于从 Java 控制服务的信息却很少。我正在尝试做的事情可能吗?我需要跳过哪些安全圈?

【问题讨论】:

    标签: windows-services windows-server-2008 java-ee-6


    【解决方案1】:

    你可以做 Runtime.exec("net stop tomcat6")。当然 tomcat6 可以替换为任何其他服务名称。 另请查看本教程 http://www.java-samples.com/showtutorial.php?tutorialid=8

    【讨论】:

    • 我应该说我知道 Runtime.exec 但由于安全问题,它在这种情况下不起作用。据我所知,默认情况下服务不能只是相互启动和停止。我认为 ServerFault 上的 this posting 对回答这个问题大有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多