2012-01-27 34 views
9

Làm cách nào để có danh sách các quy trình hiện đang chạy trong Go?Danh sách quy trình hiện đang chạy trong Go

Gói hệ điều hành cung cấp một số chức năng: http://golang.org/pkg/os/ nhưng không cung cấp bất kỳ thứ gì để xem danh sách các quy trình đang chạy.

+0

xác định các quá trình :) danh sách các tiến trình đang chạy trên hệ điều hành của bạn hoặc danh sách các goroutine chạy trong chương trình đi của bạn? – proppy

+1

danh sách các quá trình đang chạy trong hệ điều hành của tôi –

+0

Bạn có cần giải pháp nền tảng chéo không? – proppy

Trả lời

14

Không có chức năng nào như vậy trong thư viện chuẩn và rất có thể sẽ không bao giờ có.

Trong hầu hết các trường hợp, danh sách các quy trình không bắt buộc bởi các chương trình. Các chương trình đi thường muốn chờ một hoặc một số quy trình nhỏ hơn, không phải cho tất cả các quy trình. PID của các quá trình thường thu được bằng các phương tiện khác hơn là tìm kiếm trong danh sách tất cả các quá trình.

Nếu bạn đang sử dụng Linux, bạn có thể lấy danh sách các quy trình bằng cách đọc nội dung của thư mục /proc. Xem câu hỏi Linux API to list running processes?

3

Nếu bạn chỉ cần thông tin quy trình, chỉ có thể chạy lệnh "ps" từ mã đi của bạn, sau đó phân tích cú pháp đầu ra văn bản.

Một giải pháp hoàn chỉnh có thể tham khảo Tập thể dục 29 trong Sách "Học Go" @http://www.miek.nl/files/go/

Các vấn đề liên quan