`我已经编写了下面的代码来运行目前通过 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());
}
}
}
最佳答案
您实际上在第一个屏幕上就找到了问题的答案。 Windows 告诉您该程序被设计为服务,无法从命令行运行。它还建议您使用 insyalutil 将您的程序设置为服务,然后 Windows 将在需要时运行它。 通常服务会为某些事件运行。最常见的 - 用户连接到与此服务关联的特定端口(例如端口 80),当出现此类请求时,Windows 将启动服务程序(IIS 以应答 http 调用)并将此请求委托(delegate)给此新程序。或者如果程序已经在运行则立即委托(delegate)它。
因此,如您所见,Windows 负责服务程序。您不能从另一个进程的命令行启动它们(这是您的示例)。您可以在服务控制窗口中手动启动/停止/重新启动进程,但这仍然不是命令行或您的进程。
关于java - 从 java 执行 exe 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30829216/