【发布时间】:2023-03-31 07:39:01
【问题描述】:
最简单的代码:
void test
{
QProcess p;
p.start("sleep 10");
p.waitForBytesWritten();
p.waitForFinished(1);
}
当然,该过程不能在函数结束前结束,所以会显示警告信息:
QProcess: Destroyed while process ("sleep") is still running.
我希望不显示此消息 - 我应该在函数结束之前自行销毁进程,但我找不到正确执行此操作的方法:p.~QProcess(), p.terminate(), p .kill() 帮不了我。
注意:我不想等待进程执行,我自己在运行时将其杀死。
【问题讨论】:
-
为什么 p.terminate(), p.kill() 帮不了你?
-
int main() { QProcess prc; prc.start("睡眠 10"); prc.waitForBytesWritten(); prc.waitForFinished(1); prc.terminate(); prc.kill();返回0; } // 仍然警告