如何使用apache commons-exec启动程序并立即退出?

时间:2012-11-28 10:12:57

标签: java apache-commons-exec

通过使用Apache Commons-Exec,我可以成功启动程序,但是在程序启动后启动程序暂停。

我可以问一下如何启动一个程序并立即退出,这样就不会阻止以下执行吗?

DefaultExecutor executor = new DefaultExecutor();
executor.execute( "cmd /c start C:\\Users\\xx\\program.exe");

我在Win7 64bit上。

由于

2 个答案:

答案 0 :(得分:3)

根据documentationexecute(CommandLine)开始同步执行。也就是说,它会阻塞调用线程。您可能希望异步执行,因此请使用execute(CommandLine command, ExecuteResultHandler handler)。例如,

DefaultExecutor executor = new DefaultExecutor();
executor.execute(new CommadLine("cmd /c start C:\\Users\\xx\\program.exe"),
                 new DefaultExecuteResultHandler());

答案 1 :(得分:2)

听起来你需要使用DefaultExecuteResultHandler

有关详细信息,请参阅tutorial(底部)。