次の状況の解決策を見つけようとしています。
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ソリューションはありますか?