如何计算并行执行的复合命令的时间?

如何计算并行执行的复合命令的时间?

当大多数但不是全部命令并行执行时,如何对复合命令计时:

例如命令:

comd1 ; comd2 & comd3 & comd4 & comd5 &

我试过

time (comd1…)

但从输出中我可以推测,仅comd1是计时的,因为单独执行时comd2通常comd5不会那么快完成执行。

答案1

您可以添加一个wait来等待所有后台进程。

例子:

$ time (sleep 1; sleep 2 & sleep 4 & wait)
real    0m5.007s
user    0m0.004s
sys     0m0.005s

$ time (sleep 1; sleep 6 & sleep 4 & wait)
real    0m7.011s
user    0m0.005s
sys     0m0.003s

相关内容