使用shell区分Android软硬重启问题

uptime命令:
- * 使用uptime命令获取主机运行时间和查询linux系统负载信息。信息显示依次为:现在时间、系统已运行时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。*

ubuntu@ubuntu:~$ uptime
17:42:05 up 3 days, 7:58, 6 users, load average: 0.11, 0.10, 0.11
17:42:05 //系统当前时间
up 3 days, 7:58 //主机已运行时间,时间越大,说明主机越稳定
6 user //用户连接数,是总连接数而不是用户数
load average* // 系统平均负载,统计最近1,5,15分钟的系统平均负载, 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。


解决方法思路:

在测试的之前记录一下sys_pid_before,reboot_before,在测试之后记录一下sys_pid_after,reboot_after
如果 [$((reboot_after-reboot_before)) -gt 10 ] || [$sys_pid_before -ne $sys_pid_after ]成立,则视为Android软重启
如果[$((reboot_after-reboot_before)) -gt 10 ]成立,则视为Android硬重启

`sys_pid_after=adb shell ps system_server|awk ‘NR==2{print $2}’

date=`adb shell date +%s|grep -o “^[0-9].*[0-9]”`

uptime=`adb shell cat /proc/uptime|awk -F. ‘{print $1}’`

reboot_after=`expr date uptime`

sys_pid_before=$sys_pid_after

reboot_before=$reboot_after

if [$((reboot_after-reboot_before)) -gt 10 ] || [$sys_pid_before -ne $sys_pid_after ]; then
echo ==========system_server reboot==========
if [$((reboot_after-reboot_before)) -gt 10 ];then
echo ==========Kernel Panics==========
fi
fi`

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值