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 }