我正在尝试找到以下情况的解决方案:
QProcess 应该运行命令并在达到所需的持续时间或命令完成时停止执行它。此 QProcess 由 QThread Worker 启动。
这可以通过以下方式轻松完成:
QProcess task("executedTool -parameters");
task.start();
task.waitForFinished(desired_max_duration_in_ms);
但也必须有一个暂停洞东西的功能。我可以通过 pthread 信号轻松地暂停 QProcess:
kill(task_.pid(), SIGSTOP);
和
kill(task_.pid(), SIGCONT);
但是随后 waitForFinished-duration 继续运行并在 QProcess 暂停时超过。
有谁知道如何做到这一点?当我可以暂停运行 QProcess 和等待命令的孔 QThread 时,等待持续时间也会暂停。但是我怎样才能得到一个 QThread 的 pid 呢?有更好的 Qt 解决方案来暂停 QProcess 吗?