给QT程序升级的一种办法

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

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

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

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

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


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值