解决方案 »

  1.   

    Runtime.getRuntime().exec(new String[] {"/bin/sh","-c","kmeans.sh  /shell  kmeans.scala
    "},null,null);
      

  2.   

    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();  
            }  
        }  
    }  “
    不幸的是,这个程序也无法执行完成,它没有输出但却一直悬在那里!这是为什么那?
     
    JDK文档中的解释:因为本地的系统对标准输入和输出所提供的缓冲池有效,所以错误的对标准输出快速的写入和从标准输入快速的读入都有可能造成子进程的锁,甚至死锁。
    ”解决方法请看原文第三点