您的位置:首页 > 运维架构 > Shell

shell脚本不暂停进程,暂停几秒执行下一条shell命令

2017-11-15 14:27 736 查看
需求如下:

跑monkey脚本如果遇到异常结束,则使用logcat输出日志,输出三秒后停止输出

如果使用sleep 命令的话,则会导致logcat在sleep的时候也暂停执行了

解决方法如下,通过while循环暂停3秒:

ti1=`date +%s` #获取时间戳
ti2=`date +%s`
i=$(($ti2 - $ti1 ))

while [[ "$i" -ne "3" ]]
do
ti2=`date +%s`
i=$(($ti2 - $ti1 ))
done

以下是我monkey脚本中实现的代码(monkey异常结束或正常结束后,会自动截取3秒的logcat 日志)

logcat -c #清除日志
monkey -p com.yixia.videoeditor --throttle 1000 -s 82 -v -v -v --pct-appswitch 20 --pct-majornav 10 --pct-touch 30 --pct-syskeys 10 --pct-motion 25 --pct-nav 5 20000 > /sdcard/monkey/monkey.log
logcat -v time > /sdcard/monkey/logcat.log & # 如果执行monkey跑出问题异常结束 或者正常跑完monkey,则打印日志(只有3秒的日志获取时间)

ti1=`date +%s` #获取时间戳
ti2=`date +%s`
i=$(($ti2 - $ti1 ))
while [[ "$i" -ne "3" ]]
do
ti2=`date +%s`
i=$(($ti2 - $ti1 ))
done

kill $! #结束后台运行的logcat进程
echo "----------------------- 测试完成标注!!! -----------------------" >> /sdcard/monkey/logcat.log
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: