父进程中怎么判断子进程退出
VTRP_TypeItemsm_vtrAllTypeItems;(这个变量里面存的是子进程队列) vector类型
每个元素的类型是下面的一个结构体:
struct DS_ProcessItem :
{
QProcess*pProcess;
QStringstrProcessName;// 可执行文件路径及文件名
QStringstrExeFile;// 可执行文件路径及文件名
QStringstrParam;// 命令行参数
boolbNewWindow;
boolbShow;
boolbRegisted;
boolbReserved;
QStringstrExtraData;// 扩展参数
QDateTimedtUpdateTime;
};
本来想根据子进程的pid判断它是否退出,但是
根据 QProcess的 PID()方法获得子进程的PID,但是子进程退出后,pid也不会变为0,不知道还有什么办法。 C++ qt 子进程退出
[解决办法]
绑定QProcess的 finished 信号...
[解决办法]
1. 把QProcess的finished信号连接到自己的槽函数来识别
void finished(int exitCode, QProcess::ExitStatus exitStatus)
void stateChanged(QProcess::ProcessState newState)
enum ProcessState { NotRunning, Starting, Running }