#include // when need updater updatevoid updaterUpdate(){ sleep(5); // QProcess p; //p.startDetached("killall updater"); // p.waitForStarted(2); //sleep(..._startdeched会一直执行qt">
当前位置:   article > 正文

qt 进程 线程 detach --- 无限重启程序_startdeched会一直执行qt

startdeched会一直执行qt

#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();
}
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/297312?site
推荐阅读
相关标签