He estado teniendo dificultades para obtener el resultado de un "subproceso" (uno iniciado internamente por un proceso de blackbox que estoy monitoreando a través del sistema C#. Diagnostics.Process)C#: Redirigir salida estándar de un proceso que ya se está ejecutando
Tomé el consejo dado por la respuesta de mi publicación anterior: here. Y allí puedes encontrar los detalles de lo que he estado pasando.
En este punto, aunque puedo localizar el proceso ssh generado por process1.exe, estoy supervisando. No puedo redirigir la salida a mi programa C#, porque es un "proceso que ya se está ejecutando" y no se inició directamente desde C#.
Parece que todas las propiedades que establece en un objeto System.Diagnostics.Process solo surten efecto si está ejecutando explícitamente ese proceso desde su aplicación C#; si algún otro "proceso no gestionado" ha iniciado el proceso, establecer esta redirección no tiene ningún efecto, porque el proceso ya ha sido iniciado por algo que no especificó la redirección que necesito.
¿Hay alguna manera de redirigir la salida de un proceso que ya se ha iniciado (un proceso iniciado por un programa para el que no tengo el alcance para especificar previamente la redirección antes de que se inicie este proceso)?
¿Cómo es eso posible? Ya estoy redirigiendo todos los resultados de process1.exe a mi aplicación C#. En el momento en que process1 inicia internamente ssh.exe (process2), recibo 3 líneas de producción más de process1, y luego cesa toda salida, porque process2 es la única salida (sospecho), y no puedo redireccionar process2 salida, porque se inicia internamente por proceso1 (para lo cual no puedo controlar la redirección). –