應(yīng)用軟件一般都有這樣的業(yè)務(wù)需求:
當(dāng)有新版本的APP,則程序就需要執(zhí)行更新,更新完畢后(所謂的更新大多就是以覆蓋的方式),不需要關(guān)機(jī),而是應(yīng)用程序自己重新啟動即可。
查了網(wǎng)上一些資料,描寫得非常復(fù)雜,還不如創(chuàng)建一個腳本,批處理完成我的工作這樣簡單、快捷和粗暴。
在程序中,可以通過QT的線程庫函數(shù)來重啟,也可以簡單的調(diào)用外部腳本,完成重啟的工作。
qApp->closeAllWindows();
system("/opt/app/restart_app.sh");
這里看到,restart_app.sh
就是一個外部腳本。
外部腳本包含如下內(nèi)容:
#!/bin/shkillall -9 my_appecho "restart my_app!"#close backlightecho 0 > /sys/class/backlight/backlight/brightness/opt/app/my_app -qws -nomouse -font wqy-microhei &
當(dāng)執(zhí)行該腳本時,首先會調(diào)用killall -9 my_app
關(guān)閉當(dāng)前進(jìn)行中和我的app名稱一樣的進(jìn)程,然后關(guān)閉背光,讓LCD熄滅,最后,重新啟動app,并將app放在后臺運行。
這樣就簡單的完成了app的重啟動作。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答
圖片精選