当前位置: 代码迷 >> QT开发 >> 父进程中如何判断子进程退出
  详细解决方案

父进程中如何判断子进程退出

热度:32   发布时间:2016-04-25 03:45:20.0
父进程中怎么判断子进程退出

   VTRP_TypeItems m_vtrAllTypeItems;(这个变量里面存的是子进程队列) vector类型

每个元素的类型是下面的一个结构体:
struct  DS_ProcessItem : 
{
QProcess* pProcess;

QString strProcessName; // 可执行文件路径及文件名
QString strExeFile; // 可执行文件路径及文件名
QString strParam; // 命令行参数
bool bNewWindow;
bool bShow;

bool bRegisted;
bool bReserved;

QString strExtraData; // 扩展参数

QDateTime dtUpdateTime;

};

本来想根据子进程的pid判断它是否退出,但是
根据  QProcess的  PID()方法获得子进程的PID,但是子进程退出后,pid也不会变为0,不知道还有什么办法。
C++ qt 子进程退出

------解决方案--------------------
绑定QProcess的 finished 信号...
------解决方案--------------------
1. 把QProcess的finished信号连接到自己的槽函数来识别

void finished(int exitCode, QProcess::ExitStatus exitStatus)

2. 把QProcess的stateChanged信号连接到自己的槽函数来识别

void stateChanged(QProcess::ProcessState newState)
enum ProcessState { NotRunning, Starting, Running }
  相关解决方案