Я использую модуль многопроцессорности для параллельной обработки в моей программе. Когда я тестирую его, я часто хочу, чтобы программа была убита раньше, когда я заметил ошибку, так как требуется некоторое время, чтобы выполнить ее до завершения. В моей Linux-среде я запускаю свою программу с терминала и использую Ctrl + C, чтобы убить ее. При многопроцессорности это приводит к тому, что все процессы будут убиты, но я никогда не получаю приглашение bash назад и должен закрыть терминал и открыть новый (и вернуться к моему рабочему каталогу), что очень раздражает. Есть ли способ обойти это?Убивание программы с использованием многопроцессорной обработки
ответ
Нажмите Ctrl-Z, чтобы приостановить процесс Python, а затем сделать kill %1
, чтобы убить его. Вы также можете просто нажать Ctrl- \ (обратная косая черта), но это может привести к тому, что процесс оставит основной файл.
+1: Иногда с помощью многопоточных/многопроцессорных программ вы должны «убить -9% 1», что плохо мальчик. – jathanism
Чтобы начать процесс, вы можете использовать экран, а затем убить сеанс экрана, когда вам нужно. Он не выведет весь терминал bash. Для хорошего экрана учебник см:
Но подождите ... нет способа обработки события KeyboardException, чтобы убить процессы в пуле?
Я пробовал:
except KeyboardInterrupt as e: # Ctrl-C
print("Killing all the children in the pool.")
pool.close()
pool.terminate()
return 1
# raise e
Но это не похоже на работу.
Мне очень хотелось бы узнать, как это сделать. –
- 1. с использованием многопроцессорной обработки с помощью anano
- 2. Параллельное программирование с использованием многопроцессорной обработки и обработки процесса python
- 3. Убивание программы в Python
- 4. Запись данных в файл hdf с использованием многопроцессорной обработки
- 5. вызов функции многопроцессорной обработки
- 6. Решение проблем с параллельными задачами с использованием многопроцессорной обработки Python
- 7. Устранение неполадок приложения с использованием многопроцессорной обработки + потоки в Python
- 8. Как мне регистрироваться с использованием пушки и многопроцессорной обработки?
- 9. Загрузка нескольких файлов с использованием ftplib и многопроцессорной обработки
- 10. Как реализовать глобальный setUp() для многопроцессорной обработки с использованием носететов
- 11. Как запустить демон в python с использованием многопроцессорной обработки
- 12. Одновременная запись файлов с использованием многопроцессорной обработки python
- 13. Python for loop с использованием Threading или многопроцессорной обработки
- 14. Невозможно записать в файл с использованием многопроцессорной обработки Python
- 15. Ускорение выполнения одной задачи с использованием многопроцессорной или потоковой обработки
- 16. SSL ошибка с использованием многопроцессорной обработки и розетки
- 17. Динамически создавать список общих массивов с использованием многопроцессорной обработки python
- 18. Разбор очень больших XML-файлов с использованием многопроцессорной обработки
- 19. Перемещение от многопроцессорной обработки до потоковой обработки
- 20. Обработка сеансов многопроцессорной обработки Python
- 21. Python простейшая форма многопроцессорной обработки
- 22. Ошибка памяти многопроцессорной обработки Python
- 23. Пул многопроцессорной обработки Python пуст
- 24. питон многопроцессорной обработки зомби процессов
- 25. Обертка для многопроцессорной обработки Python
- 26. Профилирование многопоточной и многопроцессорной программы
- 27. RPC для многопроцессорной обработки, проблем с дизайном
- 28. Начало работы с сельдереем из многопроцессорной обработки
- 29. python: использование многопроцессорной обработки для адресов геокода
- 30. Неверный выход при использовании многопроцессорной обработки
Можете ли вы предоставить образец того, чего вы пытаетесь достичь? – hyperboreean
Посмотрите эту тему: http://stackoverflow.com/questions/1408356/keyboard-interrupts-with-pythons-multiprocessing-pool – wchung