Runtime.exec在JBoss环境中没有显示GUI

时间:2014-06-02 07:19:32

标签: java jboss7.x runtime.exec

有许多Q&一个关于Runtime.exec,但我仍然发现了一个奇怪的行为。我正在运行桌面应用程序,其中在JBoss应用程序服务器中提交并执行了一种作业(一种javax.resource.spi.work.Work)。以下是运行某些脚本的代码,无论何时需要启动任何GUI,该脚本都会阻塞。例如,如果脚本或命令是

start notepad

GUI未启动,但我可以在任务管理器中看到notepad.exe。我不知道启动记事本GUI的阻塞是什么。以下是代码:

String pathString= "D:\\folder\\abcd.bat";
pro = runtime.exec(new String[] {
          pathString
        });

abcd.bat文件的内容是

start notepad

找不到错误日志或异常。上面的代码在普通的Java类中运行良好。

编辑:仅在启动GUI的.exe文件中发现问题。一些不需要启动GUI但运行一些后台任务的.exe在我的代码中执行得非常好。

编辑:忘了说我的应用程序正在作为服务运行。

1 个答案:

答案 0 :(得分:0)

从Windows vista开始,不允许与桌面交互的服务。更多细节here。不允许服务与桌面交互是Windows安全限制。我已对服务的regedit和登录属性进行了更改,但效果很好。