hum*_*nic 6 shell bash background-process time-utility
当大多数但不是所有命令并行执行时,如何对复合命令计时:
例如命令:
comd1 ; comd2 & comd3 & comd4 & comd5 &
Run Code Online (Sandbox Code Playgroud)
我试过
time (comd1…)
Run Code Online (Sandbox Code Playgroud)
但是,从输出我可以推测,只能comd1
是定时的,因为comd2
到comd5
通常不会这么快完成单独执行时执行。
您可以添加一个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
Run Code Online (Sandbox Code Playgroud)