业务场景: A 进程启动B进程后退出, B进程干完活后启动 A进程退出
1.使用 QT ::QProcess 类的接口函数 waitForStarted() 出现 A进程退出来了 B进程一直没有起来的情况,
2. 解决方法:

  1. 在 waitFor Started() 后加延时1s可以解决
    2)Qt 提供进程状态接口state , 确认进程状态 是 running后进行A进程的退出更安全
    QProcess *p =  new QProcess;p->setWorkingDirectory(d.path());p->start("chmod 777 " + QString("updater"));p->waitForFinished();// set parameterQStringList para;QString packNameWithPath=fileName;p->setArguments(para<<packNameWithPath);// startup//p->startDetached("updater");if(packNameWithPath!=nullptr){sleep(1);p->start("updater",para);if(p->waitForStarted() &&  p->state() == QProcess::Running){FMTLOG_I("start updater successed.");sleep(1);      // avoid destroyid setpad while updater not realy startedQApplication::quit();}else{FMTLOG_E("start updater failed!");}}p->deleteLater();

Qt 进程使用 使用当前进程启动另外进程相关推荐

  1. linux 进程无法启动,linux6.*无法正常启动has进程解决方案

    1. 数据库安装成功之后:发现ohasd进程存在异常: [root@oracle234 ~]# su - grid [grid@oracle234 ~]$ ps -ef| grep ohasd gri ...

  2. 【Android 进程保活】应用进程拉活 ( 双进程守护 + JobScheduler 保活 | 成功率最高 | 推荐使用 )

    文章目录 一. 双进程守护保活 + JobScheduler 原理 二. 双进程守护保活 + JobScheduler 源码 1.JobService 代码 2.判定服务运行工具类 3.清单文件 4. ...

  3. 【renice】调整进程的nice值,即调整进程的优先级别

    [renice]调整进程的nice值,即调整进程的优先级别 调整已经启动的进程的nice值 例如: renice 3 3704 //将进程3704的nice值调整为3 renice -5 3704 / ...

  4. 使用启动外部进程的方式解决there should be only one application object(使用qtwinmigrate中常出现)

    目录 背景 解决问题 背景 有点时候,在Windows操作系统下,在dll中使用qtwinmigrate添加了qt界面,然后在MFC或者C#或者其他语言调用的时候不会出现问题,然而再用QtGUI程序去 ...

  5. tungsten开机启动及进程开启停止

    tungsten开机启动及进程开启停止 posted on 2014-06-24 09:33 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblog ...

  6. linux 主进程 等待,Linux启动与进程

    操作系统中,前台进程和后台进程有什么区别?特征是什么? 后台程序基本上不和用户交互,优先级别稍微低一点 前台的程序和用户交互,需要较高的响应速度,优先级别稍微高一点 直接从后台手工启动一个进程用得比较 ...

  7. Nginx源码分析:3张图看懂启动及进程工作原理

    图一:nginx 启动及内存申请过程分析 任何程序都离不开启动和配置解析.ngx 的代码离不开 ngx_cycle_s 和 ngx_pool_s 这两个核心数据结构,所以我们在启动之前先来分析下. 内 ...

  8. 11g RAC不能启动ohasd进程

    OS: AIX6.1 版本 6100-7 oracle 11gr2 RAC + asm (11.2.0.2) 在执行root.sh是时候报错: 2012-08-3 20:02:09.590 [clie ...

  9. [C#] 等待启动的进程执行完毕

    有能有时候我们启动了一个进程,必须等到此进程执行完毕,或是,一段时间, 关闭进程后再继续往下走. Example sample1 等待应用程序执行完毕 //等待应用程序执行完毕private void ...

最新文章

  1. python环境下,执行系统命令方法
  2. [leetcode] 101. 对称二叉树
  3. boost::intrusive::offset_ptr用法的测试程序
  4. KindEditor解决上传视频不能在手机端显示的问题
  5. android app逆向分析,如何开始对Android应用的逆向分析?
  6. MySQL锁定机制简介
  7. 并查集——集合(洛谷 P1621)
  8. mysql去重查询group_MySQL distinct 与 group by 去重(where/having)
  9. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
  10. bootstrap checkbox_[推荐]icheck-bootstrap(漂亮的ckeckbox/radiobox)
  11. C++常用基础函数整理
  12. 设计模式读书笔记之结构型模式
  13. Matlab模拟布朗运动
  14. URP渲染管线实战教程系列 之URP渲染管线实战解密(一)
  15. Debussy VerilogVHDL ISE仿真平台搭建步骤
  16. 如何深入掌握C语言指针(详解)
  17. mac 百度输入法如何切换成五笔,如何切换回拼音模式
  18. 开关电源产生浪涌电流的原因
  19. java如何比较两个date_在Java中,如何获得两个date之间的差异秒?
  20. 那个软件可以直接复制PDF文件的文本?复制PDF文字教程

热门文章

  1. Java中利用MessageFormat对象实现类似C# string.Format方法格式化
  2. 教徒计划出品:升级ESXI41-ESXI5
  3. 重新定义旅游网站,米胖新版发布
  4. h.264 SODB RBSP EBSP的区别
  5. CMOS图像传感器——图像传感器噪声
  6. 无人驾驶汽车之争本田为何未战先败
  7. ubuntu15.10下安装opencv2.4.9python上调用opencv库
  8. Windows下 jupyter notebook 运行multiprocessing 报错的问题与解决方法
  9. 您没有足够的全新为该计算机所有用户安装,我用的是admin管理员身份可安装软件弹出你没有足够的权限为该计算机所有用户完成此安装.请以管理员的身份登...
  10. Blender建模与游戏换装(转载文)