首页 > 代码库 > 给QT程序升级的一种办法

给QT程序升级的一种办法

远程无人值守的机器,需要升级的时候,如果需要替换主程序,可以先下载新的主程序(放到临时目录).确保下载的程序完整以后,将老程序替换成新程序.然后老程序(正在运行的程序)启动外部程序(一般是一个shell),注意在QT程序中启动另外一个shell的时候可以使用如下代码:

QProcess* pro = new QProcess();pro->startDetached(QDir::currentPath()+"/myShell.sh");exit(0);//主程序kill自己

 

而myShell.sh中的代码可以这样写:

#!/bin/bashpkill myAppecho " 等待启动中..."sleep 1echo " 开始启动..."./myApp&echo " 启动完毕..."exit

 

 

以上是我自己的一点简单实现,文中没有考虑更多复杂环境的情况,仅是一个思路参考.

 

给QT程序升级的一种办法