concurrent.futuresを使用して実行中のプロセスを終了するにはどうすればよいですか?私が理解しているように、cancel()
メソッドは、実行中でない場合にキューからプロセスを削除する方法です。しかし、実行中のプロセスを強制終了するのはどうですか?たとえば、長時間実行しているプロセスがあり、GUIの[キャンセル]ボタンを押したときにプロセスを停止したいとします。concurrent.futuresで実行中のプロセスを停止する方法はありますか?
7
A
答えて
0
この場合、長時間実行するタスクにはmultiprocessing.Process
を使用する方がよいでしょう。
新しいプロセスを開始する前にmultiprocessing.Event
を作成してからを開始してください。子プロセスにこのEvent
のステータスを定期的にチェックさせ、Event.is_set()
がTrue
を返したときに終了させる。
GUIコードでは、Event
のボタン呼び出しset()
に関連付けられたコールバックを持ってください。
0
関連するStackOverflowの質問hereに私の答えを見てください。
つまり、concurrent.futures.ProcessPoolExecutor
の中で実行中のプロセスをキャンセルする簡単な方法はないようです。しかし、子プロセスを手動で強制終了することでhackyの方法でそれを達成できます。
関連する問題
- 1. ブラウザレベルから実行中のPHPプロセスを停止する方法
- 2. AsyncTaskでHttpClientの実行を停止する方法はありますか?
- 3. 正面で実行していてもプロセスを強制停止する方法はありますか?
- 4. Cで実行中のプログラムを停止する方法は?
- 5. ページ上のスクリプトの実行を停止する方法はありますか?
- 6. スーパーバイザは、restartコマンドで実行中のプロセスを強制停止しますか?
- 7. 関数の実行を停止する方法はありますか?
- 8. 間隔(1分)で実行中のハンドラを停止する方法はありますか?
- 9. 現在のスレッド以外の実行中のスレッドをすべて停止する方法はありますか?
- 10. 実行中のプロセスのメモリリークを見つける方法はありますか?
- 11. Matlabで実行中のスクリプトを停止する方法
- 12. Cで実行中のタスクを停止する方法
- 13. Linux:プロセス(SIGSTOP)を停止/一時停止せずにptraceを使用する方法はありますか?
- 14. 希望の期間中アプリを停止する方法はありますか?
- 15. プログラムでスクロールを停止する方法はありますか?
- 16. 既に実行中のアニメーションを停止する方法
- 17. セットアップ(デプロイメントプロジェクト)インストーラの実行後にプログラムの実行を停止する方法はありますか?
- 18. スーパーバイザであまりにも多くのプロセスを停止する方法
- 19. プロセスの検出と反応、プロセスの開始を停止する方法はありますか?
- 20. console2内で実行中のbashでプロセスを一時停止する
- 21. Android - Kotlin - プロセス途中で停止する
- 22. スポットアピで一時停止する方法はありますか?
- 23. メディアスキャナの実行中に一時停止する方法
- 24. 現在実行中のスレッドを知り、それを停止する方法iOS
- 25. 実行中にクエリを停止する
- 26. C++作業やプロセス中にサービスを停止する方法
- 27. 実行中のスレッドを停止または破棄する方法
- 28. SKActionsを一時停止する方法はありますか?
- 29. Magentoインデクサープロセスを停止する方法はありますか?
- 30. couchdbインデクサープロセスを停止する方法はありますか?