Мне нелегко получить вывод «подпроцесса» (один из которых запускается внутри процесса Blackbox, который я контролирую с помощью системы C#. Diagnostics.Process)C#: перенаправление стандартного вывода процесса, который уже запущен
Я принял совет, предоставленный ответом на мой предыдущий пост: here. И там вы можете найти детали того, что я пережил.
На данный момент, хотя я могу найти процесс ssh, созданный process1.exe, который я контролирую. Я не могу перенаправить вывод в мою программу C#, потому что это «уже запущенный процесс» и не запускался непосредственно с C#.
Кажется, что все свойства, которые вы установили в объекте System.Diagnostics.Process, вступают в силу, если вы явно запускаете этот процесс из своего приложения C#; если какой-то другой «неуправляемый процесс» запустил этот процесс, установка этого перенаправления не имеет никакого эффекта, потому что процесс уже запущен тем, что не указывает перенаправление, в котором я нуждаюсь.
Есть ли способ перенаправить вывод процесса, который уже запущен (процесс, запущенный программой, для которой у меня нет возможности предварительно указать перенаправление до запуска этого процесса)?
Как это возможно? Я уже перенаправляю весь вывод из файла process1.exe в мое приложение C#. В тот момент, когда process1 запускает ssh.exe (process2), я получаю еще 3 строки вывода из process1, а затем весь вывод прекращается, потому что process2 - единственное, что выводит (я подозреваю), и я не могу перенаправить процесс2 вывод, потому что он запускается внутренне процессом process1 (для которого я не могу управлять перенаправлением). –