Java Runtime.getRuntime().exec() fails after calling it several hundred times

前端 未结 3 753
北荒
北荒 2021-01-01 04:38

I have a Java program that executes Runtime.getRuntime().exec(\"ls -l\"); many times, once for each directory in the system.

My test system has more than 1,000 direc

3条回答
  •  無奈伤痛
    2021-01-01 05:20

    You should explicitly close the input/output streams when using Runtime.getRuntime().exec.

    Process p = null;
    try {
        p = Runtime.getRuntime().exec("ls -l");
        //process output here
        p.waitFor();
    } finally {
        if (p != null) {
            p.getOutputStream().close();
            p.getInputStream().close();
            p.getErrorStream().close(); 
        }
    }
    

提交回复
热议问题