我创建了两个程序 A 和 B。B 被设计为在 64 位 A 内启动的 32 位 QProcess。这些程序通过 stdin、stdout 和 QSharedMemory 很好地通信。
A:A() {
QProcess *p = new QProcess(this);
p->start("B.exe");
}
A:~A() {
p->deleteLater();
}
现在,如果 A 关闭,B 也将关闭。但是,如果我在 Windows 任务管理器中结束进程 A,B 将继续逍遥法外,B 的 cpu 使用率将飙升。为什么?
如果 A 立即被销毁,我该如何关闭 B?