#!/bin/bash
# Start.sh
if [[ $# -ne 1 ]] ; then
echo 'Usage :<./Start N# >'
exit 1
fi
if [[ $1 -ge 1 ]] ; then
for ((c=1; c<=$1; c++))
do
virsh start VM$c
/usr/bin/time -f "%E" ./test-online.sh VM$c &
done
else
echo 'Give some positive number !!!'
fi
/usr/bin/iostat -x 1 > result.txt
在上面的脚本中,我测量了写入test-online.sh脚本的VM启动时间。我想在每个后台进程(test-online.sh)结束时停止/ usr/bin/iostat -x 1> result.txt命令。如何运行iostat/vmstat/top/sar直到所有后台进程完成?
如果我们添加“等待”命令而不是“/ usr/bin/iostat -x 1> result.txt”,Start.sh将等待后台进程。但现在我很困惑,该怎么办?
谢谢。
在所有后台作业完成后,您是否希望'iostat'只运行一次? – 2015-03-03 10:12:21
是的,但它的连续性,所以开始后它将无限运行。我们可以给一些时间来运行iostat,但在我的情况下,我想运行这个,直到所有后台进程结束。 – Ankit 2015-03-03 10:15:05