嵌入式Linux重啟QT應(yīng)用程序的簡(jiǎn)單辦法(基于QT4.8 qws)
應(yīng)用軟件一般都有這樣的業(yè)務(wù)需求:
當(dāng)有新版本的APP,則程序就需要執(zhí)行更新,更新完畢后(所謂的更新大多就是以覆蓋的方式),不需要關(guān)機(jī),而是應(yīng)用程序自己重新啟動(dòng)即可。
查了網(wǎng)上一些資料,描寫得非常復(fù)雜,還不如創(chuàng)建一個(gè)腳本,批處理完成我的工作這樣簡(jiǎn)單、快捷和粗暴。
在程序中,可以通過(guò)QT的線程庫(kù)函數(shù)來(lái)重啟,也可以簡(jiǎn)單的調(diào)用外部腳本,完成重啟的工作。
qApp->closeAllWindows();
system("/opt/app/restart_app.sh");
這里看到,restart_app.sh
就是一個(gè)外部腳本。
外部腳本包含如下內(nèi)容:
#!/bin/sh killall -9 my_app echo "restart my_app!" #close backlight echo 0 > /sys/class/backlight/backlight/brightness /opt/app/my_app -qws -nomouse -font wqy-microhei &
當(dāng)執(zhí)行該腳本時(shí),首先會(huì)調(diào)用killall -9 my_app
關(guān)閉當(dāng)前進(jìn)行中和我的app名稱一樣的進(jìn)程,然后關(guān)閉背光,讓LCD熄滅,最后,重新啟動(dòng)app,并將app放在后臺(tái)運(yùn)行。
這樣就簡(jiǎn)單的完成了app的重啟動(dòng)作。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
在Linux中刪除超大(100-200GB)文件的實(shí)現(xiàn)方式
這篇文章主要介紹了在Linux中刪除超大(100-200GB)文件的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04Ubuntu 遠(yuǎn)程登陸服務(wù)器 ssh的安裝和配置詳解
這篇文章主要介紹了Ubuntu 遠(yuǎn)程登陸服務(wù)器 ssh的安裝和配置詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06重啟寶塔面板后提示-ModuleNotFoundError: No module named ''geventwebso
這篇文章主要介紹了重啟寶塔面板后提示-ModuleNotFoundError: No module named 'geventwebsocket',本文給出了解決方法,需要的朋友可以參考下2019-11-11解決ubuntu安裝軟件時(shí),status-code=409報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了解決ubuntu安裝軟件時(shí),status-code=409報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12apache中通過(guò)mod_rewrite實(shí)現(xiàn)偽靜態(tài)頁(yè)面的方法
mod_rewrite是Apache的一個(gè)非常強(qiáng)大的功能,它可以實(shí)現(xiàn)偽靜態(tài)頁(yè)面。下面我詳細(xì)說(shuō)說(shuō)它的使用方法!對(duì)初學(xué)者很有用的哦!2011-08-08詳解CentOS 7.0源碼包搭建LNMP 實(shí)際環(huán)境搭建
本篇文章主要介紹了Centos7+Nginx1.11.7+MySQL5.7.16+PHP7.1.0+openssl-1.1.0c,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12