5

如何测量我的脚本的运行时间,如下所示:

#! /bin/bash
start1=`date +%s`
./a &
./a &
./a &
./a &
./a &

end=`date +%s`
runtime=$((end-start1))
echo "$runtime"

测量时间为 0,因为所有命令都在后台运行,同时我该怎么办?

4

1 回答 1

5

在测量时间之前,使用wait命令等待进程完成

#! /bin/bash
start1=`date +%s`
./a &
./a &
./a &
./a &
./a &

wait #  <----------------

end=`date +%s`
runtime=$((end-start1))
echo "$runtime"

您还可以使用该time命令获得更好、更准确的结果:

time {
    ./a &
    ./a &
    ./a &
    ./a &
    ./a &

    wait #  <----------------
}
于 2013-08-20T16:50:20.313 回答