Parallel processing 运行外部程序exe-PERL的多任务

Parallel processing 运行外部程序exe-PERL的多任务,parallel-processing,Parallel Processing,我有3个外部程序(A.exe)的输入文件(in1.txt、in2.txt、in3.txt),需要在PERL中同时运行。之后,打印在单独文件上的输出将用于进一步计算。每个输入文件的假定计算时间不同,如下所示: A.exe in1.txt - 10 minutes A.exe in2.txt - 20 minutes A.exe in3.txt - 30 minutes 我尝试按如下方式使用system(): print "Start calculation:"; system

我有3个外部程序(A.exe)的输入文件(in1.txt、in2.txt、in3.txt),需要在PERL中同时运行。之后,打印在单独文件上的输出将用于进一步计算。每个输入文件的假定计算时间不同,如下所示:

A.exe in1.txt - 10 minutes
A.exe in2.txt - 20 minutes
A.exe in3.txt - 30 minutes
我尝试按如下方式使用system():

print "Start calculation:";
system ('start A.exe in1.txt & start A.exe in2.txt & start A.exe in3.txt ');
$finish="Yes";
print "Calculation finished: $finish";
它成功地同时运行所有3个输入文件。但是,命令窗口始终打印出:

Calculation finished: Yes
在实际计算完成之前。 有没有办法在实际计算完成后打印出来?假设我们在计算的第一个位置不知道计算时间

另一方面,如何在前一个任务完成后运行新任务


谢谢大家!

我的临时解决方案是,我们可以在“开始”之后添加“/等待”。因此代码现在可能是:system('start A.exe in1.txt&start A.exe in2.txt&start/wait A.exe in3.txt');