| 
 我想用java执行 然后在java程序里写 String cmd = “shell/kmeans.sh” + " " + "/shell" + " " + "kmeans.scala"; Runtime.getRuntime().exec(cmd).waitFor(); 但是一跑就卡住,eclipse的控制台里什么都没有输出 但再查看输出的日志,结果居然补全了,而且运算结果与我直接在spak-shell里运行的一样 莫非我每算一次都需要kill它一次吗。。 不是运算的原因,因为运算量不大,但我等了五分钟再来看,还是卡着 我不知道这样到底是不是把后两个参数传进去了 因为它算出了结果,但我中途设置的许多标志信息都没有输出 但偶尔换个方式写,那些标志信息又可以很明白地告诉我,我的参数没输进去 今天纠结了一天 到底问题出在哪里呢  | 
|
5分  | 
Runtime.getRuntime().exec(new String[] {"/bin/sh","-c","kmeans.sh  /shell  kmeans.scala
"},null,null);
 | 
35分  | 
 见Java Runtime.exec()注意事项
 
目测应该是 Java中Runtime.exec的一些事 这里的第二点 public class BadExecJavac2 {  
    public static void main(String args[]) {  
        try {  
            Runtime rt = Runtime.getRuntime();  
            Process proc = rt.exec("javac");  
            int exitVal = proc.waitFor();  
            System.out.println("Process exitValue: " + exitVal);  
        } catch (Throwable t) {  
           t.printStackTrace();  
        }  
    }  
}  
“ 解决方法请看原文第三点  | 
| 
 经测试无效。。  | 
|
| 
 牛叉,就是这个!  | 
|