How to configure two external executables to run from a C # application, where stdout from the first goes to stdin from the second?
I know how to run external programs using the Process object, but I see no way to do something like "myprogram1-some -options | myprogram2-some -options". I also need to catch the stdout of the second program (myprogram2 in the example).
In PHP, I would just do this:
$descriptorspec = array(
1 => array("pipe", "w"),
);
$this->command_process_resource = proc_open("myprogram1 -some -options | myprogram2 -some -options", $descriptorspec, $pipes);
And $ pipes [1] will be stdout from the last program in the chain. Is there any way to do this in C #?
source
share