嵌入式Linux重启QT应用程序的简单办法(基于QT4.8 qws)

(编辑:jimmy 日期: 2024/9/21 浏览:2)

应用软件一般都有这样的业务需求:

当有新版本的APP,则程序就需要执行更新,更新完毕后(所谓的更新大多就是以覆盖的方式),不需要关机,而是应用程序自己重新启动即可。

查了网上一些资料,描写得非常复杂,还不如创建一个脚本,批处理完成我的工作这样简单、快捷和粗暴。

在程序中,可以通过QT的线程库函数来重启,也可以简单的调用外部脚本,完成重启的工作。

qApp->closeAllWindows();
system("/opt/app/restart_app.sh");

这里看到,restart_app.sh就是一个外部脚本。

外部脚本包含如下内容:

#!/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 &

当执行该脚本时,首先会调用killall -9 my_app关闭当前进行中和我的app名称一样的进程,然后关闭背光,让LCD熄灭,最后,重新启动app,并将app放在后台运行。

这样就简单的完成了app的重启动作。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。