针对启动程序闪退问题,写了个脚本

背景:

程序发现在启动时,偶现闪退现象,需要定位问题所在以及跟踪原因。

传统方法,就是人工运行,高级AI判断是否程序正常启动,若不是,则停止人工运行

这样可行是可行的,就是很麻烦,如果本身概率就很小,也很难持续这样操作

思路:

写个程序,运行待测试程序

判断该程序是否存在

如果存在,kill掉,再次运行

如果不存在,则退出程序。

这样程序很简单

那么能否用shell脚本来实现呢?这样更加灵活点,也省去了很多编译 工作

关键是shell命令,一般人也不熟悉,这里要会实现:

  1. 如何执行一个程序

  1. 如何获取执行结果

  1. 如何写判定、如何写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"
posted @ 2023-02-16 21:15  小刚学长  阅读(76)  评论(0编辑  收藏  举报