`我已经编写了一个下面的代码来运行目前通过Windows服务运行的exe。我想用java程序调用它。但我在图像中低于错误。我不知道如何通过installutil或调试此错误。请帮帮我。
`
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());
}
}
}
答案 0 :(得分:1)
您实际上在第一个屏幕中找到了问题的答案。 Windows告诉您,此程序旨在作为服务,无法从命令行运行。它还建议您使用insyalutil将程序设置为服务,然后Windows将在需要时运行它。 通常为某些活动提供服务。最常见的用户连接到与此服务相关联的特定端口(例如端口80),当发生此类请求时,Windows将启动服务程序(IIS以响应http调用)并将此请求委托给此新程序。如果程序已在运行,请立即删除它。
因此,正如您所看到的,Windows负责服务程序。您无法从另一个进程的命令行启动它们(这是您的示例)。您可以在服务控制窗口中手动启动/停止/重新启动进程,但这仍然不是命令行或您的进程。