Tôi đang sử dụng đối tượng System.Diagnostic.Process
của C#.
Một trong các thuộc tính của nó là Id
.
Id
sản phẩm này không giống với PID
, được hiển thị trong Windows Task Manager
.
Tại sao điều này?System.Diaganostics.Process.Id Không phải là Id quy trình tương tự được hiển thị trong Trình quản lý tác vụ. Tại sao?
Bạn thấy, sau khi quá trình này được bắt đầu.
Nó khởi chạy hai quy trình không được quản lý khác, mà tôi không thể nhận được ID một cách rõ ràng bằng tham chiếu thuộc tính đối tượng.
Tôi phải tìm kiếm qua tất cả các quy trình để tìm chúng theo tên quy trình qua System.Diagnostics.Process.GetProcesses()
.
Tôi đang cố gắng tìm một cách đáng tin cậy để tiêu diệt quy trình này và tất cả các quy trình được liên kết theo PID
, chế độ hiển thị trong Task Manager
.
Có cách nào tốt hơn không?
Tôi không thể chỉ giết tất cả các quy trình với các tên quy trình liên quan, vì điều đó có thể giết chết các trường hợp khác của các quy trình đó không liên quan gì đến chương trình của tôi.
Nếu bạn bắt đầu quá trình với System.Diagnostics.Process, sau đó gọi .Refresh() trước khi kiểm tra ID. ID được gán bởi hệ điều hành khi quá trình bắt đầu, không phải khi đối tượng Process được khởi tạo. –