macOS qprocess执行结束通知
时间: 2023-08-03 16:31:52 浏览: 40
在macOS上,可以使用`QProcess`的`finished(int exitCode, QProcess::ExitStatus exitStatus)`信号来获取进程执行结束的通知。这个信号会在进程执行完成后发出,可以通过连接到这个信号来接收通知。
例如,假设要执行一个名为`myapp`的应用程序,可以使用以下代码来启动进程并连接到`finished`信号:
```cpp
QProcess process;
process.start("myapp");
connect(&process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(processFinished(int, QProcess::ExitStatus)));
```
`processFinished`是一个槽函数,用来处理进程结束的通知。例如:
```cpp
void MyClass::processFinished(int exitCode, QProcess::ExitStatus exitStatus)
{
if (exitStatus == QProcess::NormalExit) {
qDebug() << "进程正常结束,退出码为:" << exitCode;
} else {
qDebug() << "进程异常结束,退出码为:" << exitCode;
}
}
```
注意,如果进程没有正常结束,比如被强制终止或者崩溃了,`exitStatus`将会是`QProcess::CrashExit`,而不是`QProcess::NormalExit`。