我正在尝试在我的 java 代码中执行“edena”生物信息学程序。该过程使用输入文件并写入输出文件。当输入文件很小(~1 MB)时,该过程完成并完美退出。当输入文件较大(~ 80 MB)时,进程就会挂起。从 cmd 调用进程工作得很好,所以我怀疑它与缓冲区等有关。我正在使用 4GB RAM 的 ubuntu 12.04.10(不知道它是否相关)。这是挂起的代码:
String edena_exe1 = "edena -M 75 -p " + workshopDir + BinAssembly.cliqueFilesDir +
"clique_" + c.getId() + " -DRpairs "+ workshopDir + BinAssembly.cliqueFilesDir +
"/clique" + c.getId() + "pair1.fna " + workshopDir +
BinAssembly.cliqueFilesDir + "/clique" + c.getId() + "pair2.fna ";
Process edena_proc1 = Runtime.getRuntime().exec(edena_exe1);
edena_proc1.waitFor();
谢谢!