Process p = Runtime.getRuntime().exec("ls");
类似这种调用外部程序的代码如果调用了很多次后,可能会出现too many open files的错误。
原因是子进程的标准输入流、标准输出流、标准错误流没有全部关闭,即使流没有使用也需要关闭。
p.getInputStream.close();
p.getOutputStream.close();
p.getErrorStream.close();
Process p = Runtime.getRuntime().exec("ls");
p.getInputStream.close();
p.getOutputStream.close();
p.getErrorStream.close();