是否有一种简单的方法可以完成相同的操作,但是同时使用bash
运行这两个进程?
$ time sleep 5; sleep 8
time
应报告总共8秒(或最长任务的时间量)
答案 0 :(得分:6)
$ time (sleep 5 & sleep 8 & wait)
real 0m8.019s
user 0m0.005s
sys 0m0.005s
没有任何参数,shell内置wait
等待所有后台作业完成。
答案 1 :(得分:1)
time sleep 8 & time sleep 5
&
运算符导致第一个命令在后台运行,这实际上意味着这两个命令将同时运行。
答案 2 :(得分:1)
以睡眠为例。
如果您只想计算第一个流程,那么
time sleep 10 & sleep 20
如果你想对两个过程计时,那么
time (sleep 10 & sleep 20)
答案 3 :(得分:0)
对不起我的问题第一次可能不太清楚,但我想我找到了答案,这要归功于这里给出的一些指示。
time sleep 5& time sleep 8
会同时运行两个进程,然后我会采取更大的结果。
答案 4 :(得分:0)
如果你安装了GNU Parallel http://www.gnu.org/software/parallel/,你可以这样做:
time parallel sleep ::: 5 8
您可以通过以下方式安装GNU Parallel:
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
观看GNU Parallel的介绍视频了解详情: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1