开发者

Java runtime.exec causes program crash

I am trying to run an external program Decoder.exe using a java: Runtime.getRuntime().exec("C:\fullpath-and-so-on\Decoder.exe -h"); like so:

    try{
        Process p = Runtime.getRuntime().exec("C:\\fullpath-and-so-on\\Decoder.exe -h");
    }
    catch(Exception e){
        e.printStackTrace();
 开发者_StackOverflow社区   }

This works for all other programs I've tried. But whenever I execute it from java the Decoder.exe crashes. The java executes fine and does not generate any exceptions but the called program Decodes.exe stops working. The program Decoder.exe executes perfectly when run in a separate cmd window.

Have anyone had any experience with a similar problem? What differs when java runs exec and when a program is run in cmd.exe? Is there a known workaround or am I just making a mistake somewhere?

Very thankful for any help! BR, Fredrik


Stops working you say?

Is the decoder.exe writing output to stderr or stdout? You must in that case read those streams, since the buffers for the streams are very small, and the execution will halt if those buffers get full.

This is a great article, it's old, but it still holds: When Runtime.exec() won't


this tutorial can help you with that http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1

and

ProcessBuilder

and

Oracle API

maybe my question Pass String as params from one Java App to another

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜