等待进程以Java结束

dan*_*s92 2 java process

所以我有这个程序

    String[] cmd = {"gnome-terminal", "--full-screen", "-e", "./toMatrix"};
    Process p = Runtime.getRuntime().exec(cmd);
    copy(p.getInputStream(), System.out);
    p.waitFor();  
    System.out.println("Exit value = " + p.exitValue());
Run Code Online (Sandbox Code Playgroud)

我希望它能够在另一个过程中运行C程序到Matrix.但我需要它在新的终端窗口和全屏模式下运行,所以我需要传递这些参数.问题是主进程不等待进程p结束.我究竟做错了什么?

问候

Chr*_*abe 5

如果没有抛出异常,Java正在等待进程结束.该过程可能在没有完成手头任务的情况下结束.您可能需要从过程中读取输出并显示它以找出出错的地方.

看看这篇关于使用Runtime.exec()的文章:http: //www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html

希望在调试问题时对你有所帮助.