1

次の状況の解決策を見つけようとしています。

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);

しかし、QProcess が一時停止している間、waitForFinished-duration は引き続き実行され、超過します。

これを行う方法を知っている人はいますか?QProcess と wait コマンドを実行するホール QThread を一時停止できると、待機時間も一時停止します。しかし、どうすれば QThread の pid を取得できますか? QProcessの一時停止を行うためのより良いQtソリューションはありますか?

4

1 に答える 1