报错内容
在执行自己编写的Jar包的时候,报错
java.io.FileNotFoundException: /home/data/t.txt (Too many open files)
at java.io.FileOutputStream.open0(Native Method)
java.io.IOException: Cannot run program "/bin/bash": error=24, Too many open files
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
有文件写入过程,还有调用Linux脚本的过程。
原因
文件流未关闭,以及Process对象未销毁
解决方案
相关操作完成后,关闭所有打开的文件流,销毁Process对象
bufferedWriter.close();
fileOutputStream.close();
String shStr = "ls -la";
Process process = Runtime.getRuntime().exec(sh);
process.destroy();