针对启动程序闪退问题,写了个脚本
背景:
程序发现在启动时,偶现闪退现象,需要定位问题所在以及跟踪原因。
传统方法,就是人工运行,高级AI判断是否程序正常启动,若不是,则停止人工运行
这样可行是可行的,就是很麻烦,如果本身概率就很小,也很难持续这样操作
思路:
写个程序,运行待测试程序
判断该程序是否存在
如果存在,kill掉,再次运行
如果不存在,则退出程序。
这样程序很简单
那么能否用shell脚本来实现呢?这样更加灵活点,也省去了很多编译 工作
关键是shell命令,一般人也不熟悉,这里要会实现:
如何执行一个程序
如何获取执行结果
如何写判定、如何写while
show code
#! /bin/bash
n=1
#运行待测程序
/userdata/YourApp &
#延迟一下,不然容易误判;时间可根据实际情况调整
sleep 5
while (( $n <= 2 ))
do
#获取下pid
res=`pidof YourApp`
#如果不存在,说明程序退出
if [ ! -n "$res" ]; then
echo "app is failed. "
(( n++ ))
else
killall YourApp
#kill之后,再次运行
/userdata/YourApp &
sleep 5
fi
done
echo "job is stopped"
满屏源代码,一把辐射泪,都云编程痴,谁解其中味!