一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2016-11-19 编辑:简简单单 来源:一聚教程网

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`

热门栏目