Tôi đã gặp khó khăn trong việc đưa ra một "tiến trình con" (một tiến trình bên trong bằng một quy trình blackbox mà tôi đang giám sát qua C# System. Diagnostics.Process)C#: Chuyển hướng đầu ra chuẩn của quy trình đang chạy
Tôi lấy lời khuyên được đưa ra bởi câu trả lời của bài viết trước: here. Và ở đó bạn có thể tìm thấy chi tiết về những gì tôi đã trải qua.
Tại thời điểm này, mặc dù tôi có thể định vị quy trình ssh sinh ra bởi process1.exe, mà tôi đang theo dõi. Tôi không thể chuyển hướng đầu ra cho chương trình C# của tôi, bởi vì nó là một "tiến trình đang chạy", và không được khởi chạy trực tiếp từ C#.
Dường như, tất cả các thuộc tính mà bạn đặt trên đối tượng System.Diagnostics.Process, chỉ có hiệu lực nếu bạn đang khởi chạy rõ ràng quy trình đó từ ứng dụng C# của bạn; nếu một số "quy trình không được quản lý" khác đã khởi chạy quy trình, việc thiết lập chuyển hướng này không có hiệu lực, bởi vì quá trình này đã được khởi chạy bởi một cái gì đó không chỉ định chuyển hướng mà tôi cần.
Có cách nào để chuyển hướng đầu ra của quy trình đã được khởi chạy (quy trình được khởi chạy bởi chương trình mà tôi không có phạm vi để chỉ định chuyển hướng trước khi quá trình này được khởi chạy) không?
Làm cách nào có thể? Tôi đã chuyển hướng tất cả đầu ra từ process1.exe, đến ứng dụng C# của tôi. Tại điểm mà process1 khởi chạy nội bộ ssh.exe (process2), tôi nhận được thêm 3 dòng đầu ra từ process1, và sau đó tất cả đầu ra ngừng, bởi vì process2 là điều duy nhất xuất hiện (tôi nghi ngờ), và tôi không thể chuyển hướng process2 đầu ra, bởi vì nó được khởi chạy nội bộ bởi process1 (mà tôi không thể kiểm soát chuyển hướng). –