Tôi đang sử dụng mô-đun đa xử lý để thực hiện xử lý song song trong chương trình của mình. Khi tôi thử nghiệm nó, tôi thường muốn giết chương trình sớm khi tôi nhận thấy một lỗi, vì phải mất một lúc để chạy đến khi hoàn thành. Trong môi trường Linux của tôi, tôi chạy chương trình của tôi từ một thiết bị đầu cuối, và sử dụng Ctrl + C để giết nó. Với đa xử lý, điều này làm cho tất cả các quá trình bị giết, nhưng tôi không bao giờ nhận được dấu nhắc lại, và phải đóng terminal và mở một terminal mới (và điều hướng trở lại thư mục làm việc của tôi), điều này khá khó chịu. Có cách nào để làm được việc này?Giết chương trình bằng cách sử dụng đa xử lý
Trả lời
Hit Ctrl-Z để tạm dừng quá trình Python, sau đó làm kill %1
để giết nó. Bạn cũng có thể chỉ cần nhấn Ctrl- \ (dấu gạch chéo ngược), nhưng điều đó có thể khiến quá trình rời khỏi tệp lõi.
+1: Đôi khi với các chương trình đa luồng/đa xử lý bạn phải 'kill -9% 1' xấu con trai. – jathanism
Bạn có thể sử dụng màn hình để bắt đầu quá trình, sau đó giết phiên màn hình khi bạn cần. Nó sẽ không đưa ra toàn bộ thiết bị đầu cuối bash. Để xem hướng dẫn màn hình tốt xem:
Nhưng chờ ... không có cách nào để xử lý sự kiện KeyboardException để giết các quá trình trong nhóm?
tôi đã cố gắng:
except KeyboardInterrupt as e: # Ctrl-C
print("Killing all the children in the pool.")
pool.close()
pool.terminate()
return 1
# raise e
Nhưng nó dường như không làm việc.
Tôi rất muốn tìm hiểu cách thực hiện công việc này. –
- 1. Sử dụng mô-đun đa xử lý
- 2. PicklingError khi sử dụng đa xử lý
- 3. python đa xử lý
- 4. Ghi dữ liệu vào tập tin hdf bằng cách sử dụng đa xử lý
- 5. Xử lý các chương trình thu nhỏ
- 6. Không có đầu ra in từ đa xử lý con. Xử lý trừ khi chương trình gặp sự cố
- 7. Tăng tốc một nhiệm vụ bằng cách sử dụng đa xử lý hoặc luồng
- 8. Sử dụng các ống đa xử lý python
- 9. Giải quyết các vấn đề song song khó xử bằng cách sử dụng đa xử lý Python
- 10. Cách tính CPU Sử dụng ứng dụng đa xử lý trong Linux
- 11. Khả năng xử lý đa xử lý Python
- 12. Sử dụng chế độ mặc định với đa xử lý?
- 13. Gỡ bỏ một tiến trình con bắt đầu bằng cách sử dụng mô-đun đa xử lý python
- 14. Đa luồng và đa xử lý
- 15. Trình quản lý tác vụ giết chương trình của tôi như thế nào?
- 16. Mã hóa hồ sơ Python sử dụng đa xử lý?
- 17. Có đáng sử dụng triển khai thực hiện đa luồng cùng với đa xử lý bằng Python không?
- 18. Chỉ sử dụng bộ nhớ cao khi đa xử lý
- 19. vấn đề đa xử lý [pyqt, py2exe]
- 20. Xử lý từ điển C# bằng cách sử dụng LINQ
- 21. Xử lý ngoại lệ bằng cách sử dụng C# Attribute
- 22. Xử lý POST bằng cách sử dụng Warp/WAI
- 23. Tôi nhận được thông báo gì khi tôi giết chương trình của mình bằng trình quản lý tác vụ
- 24. Trình xử lý gián đoạn XPC có được gọi khi launchd giết quá trình không?
- 25. Xử lý tín hiệu trong chương trình song song OpenMP
- 26. đa luồng bằng cách sử dụng iframe
- 27. Trình xử lý sự kiện đa lựa chọn Jquery
- 28. Chương trình C nhanh hơn khi xử lý con bằng Python
- 29. tải lên tệp bằng cách sử dụng jquery ajax và trình xử lý asp.net
- 30. Rails mẫu từng phần bằng cách sử dụng trình xử lý tùy chỉnh đang thoát html
Bạn có thể vui lòng cung cấp mẫu về những gì bạn đang cố gắng đạt được không? – hyperboreean
Xem chủ đề này: http://stackoverflow.com/questions/1408356/keyboard-interrupts-with-pythons-multiprocessing-pool – wchung