从java执行exe时出错

时间:2015-06-14 12:13:47

标签: java

`我已经编写了一个下面的代码来运行目前通过Windows服务运行的exe。我想用java程序调用它。但我在图像中低于错误。我不知道如何通过installutil或调试此错误。请帮帮我。

`enter image description here

import java.io.*;

public class exec {
    public static void main(String[] args)throws Exception {
        try {
            String cmd = "D://OGLWindowsService//OGL_21052014//OGL_25_Feb_2015//OGLService.exe";
            Runtime run = Runtime.getRuntime();
            Process pr = run.exec(cmd); 
        }
        catch(Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您实际上在第一个屏幕中找到了问题的答案。 Windows告诉您,此程序旨在作为服务,无法从命令行运行。它还建议您使用insyalutil将程序设置为服务,然后Windows将在需要时运行它。 通常为某些活动提供服务。最常见的用户连接到与此服务相关联的特定端口(例如端口80),当发生此类请求时,Windows将启动服务程序(IIS以响应http调用)并将此请求委托给此新程序。如果程序已在运行,请立即删除它。

因此,正如您所看到的,Windows负责服务程序。您无法从另一个进程的命令行启动它们(这是您的示例)。您可以在服务控制窗口中手动启动/停止/重新启动进程,但这仍然不是命令行或您的进程。