C#:重定向已经运行的进程的标准输出

Lon*_*est 13 c# ssh cmd system.diagnostics

我一直很难获得"子流程"的输出(一个由我通过c#System.Diagnostics.Process监控的黑盒流程内部启动)

我接受了上一篇文章的回答: 这里.在那里你可以找到我经历过的细节.

此时,虽然我能够找到由process1.exe生成的ssh进程,但我正在监视.我无法将输出重定向到我的c#程序,因为它是一个"已在运行的进程",并且不是直接从C#启动的.

看来,您在System.Diagnostics.Process对象上设置的所有属性只有在从c#应用程序显式启动该进程时才会生效; 如果某个其他"非托管进程"已启动该进程,则设置此重定向无效,因为该进程已由未指定我需要的重定向的内容启动.

有没有办法重定向已经启动的进程的输出(一个程序启动的进程,我没有在启动此进程之前预先指定重定向的范围)?

Ian*_*obs 1

您是否可以在将进程 A 留在预期目的地时捕获输出,并将其传递到新进程中,而不是直接从正在运行的进程重定向输出?