Как я могу завершить текущий процесс, начал использовать concurrent.futures? Насколько я понимаю, метод cancel()
должен удалить процесс из очереди, если он не запущен. Но как насчет убийства запущенного процесса? Например, если у меня длительный процесс, и я хочу остановить его, когда я нажимаю кнопку «Отмена» в графическом интерфейсе.Есть ли способ остановить запущенный процесс в concurrent.futures?
7
A
ответ
0
В этом случае, вероятно, было бы лучше использовать multiprocessing.Process
для долговременной задачи.
Создайте multiprocessing.Event
до, начиная новый процесс. Регулярно проверяйте статус этого Event
и завершайте его, когда Event.is_set()
возвращает True
.
В коде вашего GUI есть обратный вызов, связанный с вызовом кнопки set()
на Event
.
0
Возможно, вы захотите посмотреть мой ответ на соответствующий вопрос StackOverflow here.
Короче говоря, похоже, что нет простого способа отменить текущий процесс внутри concurrent.futures.ProcessPoolExecutor
. Но вы можете выполнить его в режиме hacky, убив дочерние процессы вручную.
Смежные вопросы
- 1. Есть ли способ остановить процесс индексации пурпурного?
- 2. Есть ли способ обнаружить и отреагировать на процесс/остановить процесс?
- 3. Как остановить запущенный процесс в Netbeans
- 4. Убить запущенный процесс в ColdFusion?
- 5. Остановить процесс, запущенный скрипта и получить заблокированный код
- 6. Остановить запрос Ajax, а также процесс, запущенный на контроллере весной
- 7. Как убить процесс, запущенный cmd.exe
- 8. Есть ли способ отладить процесс компиляции webpack?
- 9. Есть ли способ остановить MouseListener?
- 10. Проверьте, есть ли процесс, запущенный из службы Windows
- 11. Как отладить запущенный процесс?
- 12. Есть ли способ остановить вскрытие окна dos?
- 13. , чтобы остановить запущенный метод
- 14. правильный способ остановить процесс демона
- 15. Как остановить процесс, запущенный с помощью настройки внешних инструментов Eclipse
- 16. Есть ли способ отладить скрипт, запущенный в терминале, используя Pycharm?
- 17. Ломать запущенный процесс программно
- 18. Как заставить остановить запущенный процесс, даже работающий на фронте?
- 19. Убедитесь, что в Linux есть только один запущенный PHP-процесс.
- 20. Как мне убить запущенный Java-процесс, запущенный Ant?
- 21. Как убить процесс NOHUP, запущенный через SSH
- 22. Есть ли способ немедленно остановить поток?
- 23. Есть ли способ остановить html предупреждения?
- 24. Есть ли способ остановить магистральный маршрутизатор?
- 25. Есть ли простой способ остановить сцену?
- 26. Есть ли способ остановить перемещение формы?
- 27. Есть ли способ остановить рельсы, регистрирующие все?
- 28. Есть ли изящный способ остановить Svnserve -d
- 29. Есть ли способ остановить клонирование определенных пользователей?
- 30. Есть ли способ остановить события OnItemSaving?