使用shell區分Android軟硬重啟問題

來源:互聯網
上載者:User

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`

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.