Tôi đang sử dụng thư viện của bên thứ ba bắt đầu các quy trình phụ khác nhau. Khi có một ngoại lệ, tôi muốn giết tất cả các tiến trình con. Làm thế nào tôi có thể nhận được một danh sách các pids trẻ em?Làm thế nào để bạn liệt kê tất cả các tiến trình con trong python?
Trả lời
Nó thường an toàn hơn để ghi lại các khay của tất cả các quy trình con của bạn khi bạn tạo chúng. Không có một cách tương thích posix để liệt kê các PID con. Tôi biết điều này có thể được thực hiện với công cụ PS.
Vâng, tôi mong đợi điều đó. Vấn đề là nó không phải là tôi tạo ra các quy trình, đó là thư viện của bên thứ ba. Oh well. Nó không phải là một showstopper. – Rowan
Tôi có thể nhận được chấp nhận không? –
Thực ra câu trả lời của bạn không phải là giải pháp. Tôi thực sự cần biết làm thế nào tôi có thể nhận được '' psutil.Process'' để cho tôi đệ quy '' memory_info'' và '' cpu_percent'' nhưng cuộc gọi của tôi tới subprocess thực sự mở subprocess khác (ít nhất là 4 hoặc 5 cấp độ) một I không có cách nào để theo dõi tất cả các PID. – Natim
Sử dụng psutil bạn có thể nhận được tất cả quá trình trẻ em (thậm chí quá trình đệ quy) nhìn vào https://psutil.readthedocs.io/en/latest/#psutil.Process.children
liên kết của bạn tạo trạng thái 404, kiểm tra hoặc bỏ phiếu đã xảy ra ( – dyomas
cảm ơn, cập nhật liên kết –
Bạn không thể lúc nào cũng ghi lại tất cả các tiểu trình khi chúng được tạo ra, vì chúng có thể lần lượt tạo ra các quy trình mới mà bạn không nhận thức được. Tuy nhiên, nó khá đơn giản để sử dụng psutil để tìm chúng:
import psutil
current_process = psutil.Process()
children = current_process.children(recursive=True)
for child in children:
print('Child pid is {}'.format(child.pid))
Tôi nghĩ _parent_ và _current_process_ giống nhau?) – dyomas
Yup, được chỉnh sửa để sửa. Cảm ơn @dyomas. –
- 1. Tôi làm cách nào để liệt kê tất cả các tiến trình đang chạy trong Windows?
- 2. làm thế nào để liệt kê tất cả các thư mục con trong một thư mục
- 3. Liệt kê tất cả các gói con của gói
- 4. Liệt kê tất cả virtualenv
- 5. liệt kê tất cả các quy trình trong iOS 5.0.1
- 6. Làm thế nào để lập trình liệt kê tất cả các thuộc tính được xác định?
- 7. Làm cách nào để liệt kê/liệt kê tất cả các ứng dụng đã cài đặt trong Windows XP?
- 8. Psql liệt kê tất cả các bảng
- 9. Làm thế nào để liệt kê tất cả các mục của tệp tar trong java?
- 10. Làm thế nào để viết một liệt kê của tất cả các chức năng tính toán?
- 11. Làm thế nào để giết tất cả các tiến trình con khi thoát?
- 12. Liệt kê tất cả các chỉ mục
- 13. Liệt kê tất cả các kho SVN
- 14. Làm thế nào để liệt kê tất cả các cơ sở dữ liệu MongoDB trong Node.js?
- 15. Liệt kê các tiến trình đang chạy trong Delphi
- 16. Làm thế nào để liệt kê tất cả các thư mục và thư mục con/tệp trong iPhone SDK?
- 17. PostgreSQL: Làm thế nào để liệt kê tất cả các kiểu dữ liệu có sẵn?
- 18. Làm thế nào để liệt kê tất cả các thuộc tính phụ thuộc của kiểm soát?
- 19. Làm thế nào để tìm tất cả các mô-đun con trong Python?
- 20. Làm cách nào để liệt kê tất cả các yanks trong các emacs?
- 21. Liệt kê tất cả các thư mục trong thư mục
- 22. Làm thế nào để liệt kê tất cả các hoạt động được ứng dụng tiếp xúc?
- 23. Liệt kê tất cả các xử lý tệp đang mở?
- 24. trăn đầu ra tiến trình con để liệt kê hoặc nộp
- 25. Liệt kê tất cả các bảng trong postgresql information_schema
- 26. Làm cách nào để liệt kê tất cả các miếng đệm trong etherpad-lite
- 27. Làm cách nào để liệt kê tất cả các bảng trong lược đồ trong Oracle SQL?
- 28. Liệt kê tất cả các trang web trong IIS C#
- 29. Liệt kê tất cả các tệp trong gói homebrew
- 30. Liệt kê tất cả các hàm dựng sẵn trong javascript?
Có thể giúp cho hệ điều hành của bạn biết, vì điều này phụ thuộc vào nền tảng –
POSIX có giúp bạn không? Tôi cho rằng một số người cũng muốn biết câu trả lời của Windows. – Rowan
Xem: http://stackoverflow.com/a/4229404/376587 –