如何終止正在運行的進程,開始使用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. 有沒有辦法刷新正在運行的進程
- 2. 有沒有辦法在子進程中運行節點任務?
- 3. 有沒有辦法檢查子進程是否仍在運行?
- 4. 有沒有辦法停止magento索引器進程?
- 5. 有沒有辦法用python啓動/停止linux進程?
- 6. 有沒有辦法停止couchdb索引器進程?
- 7. 有沒有辦法在Java中使所有正在運行的線程sleep()?
- 8. 有沒有辦法在錯誤處停止執行點?
- 9. 有沒有辦法在Macbook Pro上的Eclipse中暫停正在運行的Java程序的執行?
- 10. 有沒有辦法殺死所有正在運行的cocos2d acions
- 11. 有沒有辦法阻止基於ncurses的程序運行?
- 12. 有沒有辦法停止OnItemSaving事件?
- 13. 有沒有辦法來防止:懸停?
- 14. 有沒有辦法停止MouseListener?
- 15. 有沒有辦法停止QGraphicsScene?
- 16. 有沒有辦法在暫停狀態下啓動進程?
- 17. gdb:中斷正在運行的進程沒有終止子進程
- 18. 有沒有辦法無意中停止Executor的線程?
- 19. 有沒有辦法限制運行的R進程的數量
- 20. 有沒有辦法停止進一步的標籤按鈕
- 21. 在Excel-VBA中,有沒有辦法讓程序名稱'我正在運行?
- 22. Netbeans運行 - >停止生成不會停止正在運行的java進程
- 23. 有沒有辦法停止在Android中調用onTouchEvent
- 24. Android:有沒有辦法停止在BootReceiver中觸發AlarmReceiver
- 25. 有沒有辦法在DefaultHandler中停止或退出分析?
- 26. onActivityResult沒有停止程序運行
- 27. 有沒有辦法在Visual Studio中進行Scala編程?
- 28. 如何在Netbeans中停止正在運行的進程
- 29. 停止所有正在運行的線程在活動中運行
- 30. 有沒有辦法阻止我的應用程序在sandboxie上運行?