Come posso terminare un processo in esecuzione, iniziato utilizzando concurrent.futures? Come ho capito, il metodo cancel()
è lì per rimuovere un processo dalla coda se non è in esecuzione. Ma che dire dell'uccisione di un processo in esecuzione? Ad esempio, se ho un lungo processo in esecuzione, e voglio fermarlo quando premo un pulsante Annulla in una GUI.C'è un modo per fermare un processo in esecuzione in concurrent.futures?
7
A
risposta
0
In questo caso, probabilmente sarebbe meglio utilizzare un multiprocessing.Process
per un'attività a esecuzione prolungata.
Creare uno multiprocessing.Event
prima del avviare il nuovo processo. Chiedere al bambino di controllare regolarmente lo stato di questo Event
e farlo uscire quando Event.is_set()
restituisce True
.
Nel codice della GUI, avere la richiamata associata al pulsante chiama set()
su Event
.
0
È possibile che si desideri visualizzare la risposta a una domanda StackOverflow correlata here.
In breve, non sembra essere un modo semplice per annullare un processo in esecuzione all'interno di concurrent.futures.ProcessPoolExecutor
. Ma puoi farlo in modo hacky uccidendo i processi figli manualmente.
Problemi correlati
- 1. C'è un modo per fermare un processo dell'indicizzatore Magento?
- 2. C'è un modo per fermare il processo indexdb di indexdb?
- 3. Python REPL per un processo in esecuzione
- 4. In che modo Task Scheduler termina un processo in esecuzione?
- 5. Come interrompere time.sleep() in un python concurrent.futures
- 6. Ottenere un percorso di un processo in esecuzione per nome
- 7. Erlang. modo corretto di fermare il processo
- 8. Debug di un processo Python in esecuzione
- 9. Come uccidere un processo Python in esecuzione?
- 10. Nettante un processo Python in esecuzione?
- 11. C'è un modo per fermare time.sleep in windows?
- 12. Come uccidere un processo non in esecuzione in Android
- 13. Metodo esecuzione in un nuovo processo
- 14. Timeout individuali per concurrent.futures
- 15. C'è un modo per ottenere/collegare/allegare un processo già in esecuzione usando java?
- 16. C'è un modo per fermare tutto il javascript sulla pagina?
- 17. Come fermare un loop infinito in modo sicuro in Python?
- 18. Esecuzione di un comando come processo/servizio in background
- 19. Come posso verificare un processo in esecuzione per sessione utente?
- 20. Un modo per fermare un blocco letterale rapida
- 21. Esiste un modo per "riscaldare" un processo?
- 22. Come fermare un ScheduledExecutorService?
- 23. shell script per fermare un programma Java
- 24. Il garbage collector è in esecuzione in un processo separato?
- 25. C'è un modo per fermare i test JUnit in coda e mantenere ancora in esecuzione JavaFX Gui?
- 26. fermare il processo msbuild se un bersaglio fallisce
- 27. Come scoprire se un processo è in esecuzione in C?
- 28. C'è un modo per rilevare un'animazione in esecuzione in iOS?
- 29. C'è un modo per fermare SQL Express 2008 da Idling?
- 30. Esecuzione di un processo o una filettatura separata in Qt