Nếu tôi tạo một hồ bơi với 4 công nhân và đặt chúng làm một số nhiệm vụ (sử dụng pool.apply_async(..)
), tôi có thể truy cập tên của mỗi quá trình từ bên trong bằng cách sử dụng multiprocessing.current_process().name
, nhưng làm cách nào để đặt tên từ quy trình gốc (điều này chủ yếu là để đăng nhập)?Làm cách nào để đặt tên cho các quy trình trong một đa xử lý.pool?
7
A
Trả lời
4
Process.name
là just a setter, bạn có thể tự do gán cho nó.
Hồ bơi có một đối số initializer
. Điều này có thể được gọi bất kỳ, và nó sẽ được gọi một lần khi mỗi tiến trình con khởi động. Bạn có thể trỏ điều này đến một hàm đặt thuộc tính name
của quá trình đó thành bất kỳ thứ gì bạn muốn.
Các vấn đề liên quan
- 1. Xử lý đa Python cho các quy trình song song
- 2. Quá nhiều tệp đang mở với đa xử lý.Pool
- 3. Đa xử lý Python: Làm cách nào để chia sẻ một dict giữa nhiều quy trình?
- 4. Làm cách nào để đặt tên quy trình cho chương trình Java?
- 5. Làm thế nào để vượt qua trường hợp đa xử lý.Pool để apply_async chức năng gọi lại?
- 6. Làm thế nào để chấm dứt đúng quy trình con với đa xử lý trong python
- 7. Làm cách nào để đặt tên cho các cột hỗ trợ đa ánh xạ trong Dapper?
- 8. Đa xử lý Python: làm cách nào để giới hạn số lượng quy trình chờ?
- 9. Làm cách nào để đặt tên cho các lớp ViewModel?
- 10. Làm cách nào để có được cửa sổ xử lý bằng cách đặt tên quy trình đang chạy?
- 11. Làm cách nào để cài đặt các phụ thuộc cho trình xử lý đầu bếp?
- 12. Đa xử lý Python: Nhóm các quy trình tùy chỉnh
- 13. Quy ước đặt tên: Cách đặt tên cho một phiên bản khác của cùng một lớp?
- 14. Quy ước đặt tên cho các tệp lớp một phần
- 15. Tại sao tôi không thể sử dụng operator.itemgetter trong đa xử lý.Pool?
- 16. Cách đặt cài đặt proxy cho các quy trình IIS?
- 17. Quy ước đặt tên cho các đối tượng trong java
- 18. Đặt tên quy trình Java trên Windows
- 19. Làm cách nào để đăng ký chức năng "atexit" trong quy trình con đa xử lý của python?
- 20. Làm cách nào để đặt tên quy trình thực thi của dự án?
- 21. Làm cách nào để đổi tên các quy tắc CSS?
- 22. Cách đa nền tảng để lấy PID bằng tên quy trình trong python
- 23. Quy ước đặt tên cho trình kích hoạt DB
- 24. Xử lý đa Python: báo cáo tiến trình từ các quy trình
- 25. Làm cách nào để đặt tên cho một chuỗi trong Linux?
- 26. Quy ước đặt tên tốt cho các trường và trình truy cập trong C++ là gì?
- 27. Cách lấy tên quy trình trong C++
- 28. Làm cách nào để theo dõi các quy trình truy cập một tệp cụ thể?
- 29. Quy ước đặt tên cho các dự án mới
- 30. Có quy ước đặt tên cho các ứng dụng Django
Cảm ơn, nó hoạt động. Tôi đang sử dụng initializer + setproctitle. – alasarr
@TkTech @Sveltely @alasar trong một hàm mà tôi sử dụng làm ** initializer ** cho nhóm i đặt tên của quá trình bằng cách sử dụng 'multiprocessing.current_process(). Name = 'some string'' và sử dụng thuộc tính bản ghi nhật ký ** % (processName) s ** trong định dạng ghi nhật ký, nhưng vẫn trong các thông điệp tường trình, tôi thấy các tên mặc định được tạo cho các tiến trình (Ví dụ: PoolWorker-1, PoolWorker-2) và không phải là tên mà tôi đang thiết lập cho quá trình khởi tạo. chức năng. Bạn có thể vui lòng cho biết những gì sai. –