qt 进程 线程 detach --- 无限重启程序

#include "SoftWareUpdate.h"
#include <QApplication>
#include <QDesktopWidget>


// when need updater update
void updaterUpdate()
{
    sleep(5);
   // QProcess p;
    //p.startDetached("killall updater");
   // p.waitForStarted(2);
    //sleep(2);
    QStringList extrFileList;
    extrFileList.append("updater");
    JlCompress::extractFiles("../WorkSpace.zip",extrFileList,"./");
    sleep(2);

    QProcess restartP;
    restartP.startDetached("./updater");

}

int main(int argc, char *argv[])
{

    QApplication a(argc, argv);
    SoftWareUpdate w;
    QDesktopWidget deskTopWidget;

    int x = deskTopWidget.width()/2;
    int y = deskTopWidget.height()/2;

    w.setFixedWidth(700);
    w.setFixedHeight(300);

    w.setGeometry(x-350,y-100,700,300);
    w.show();

    // when restart check , whether updater need update
   if(w.isUpdaterExist("../","WorkSpace.zip")){

       std::thread t(updaterUpdate);
       t.detach();
   }

    // do update
    w.updaterTask();

    return a.exec();
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值