public void ExecuteProcessChain(string[] asProcesses, string sInRedirect, string sOutRedirect)
{
Process p1 = new Process();
p1.StartIn
ReadLine
is reading from the output of the first calc. Calc doesn't send any output. So, ReadLine
will never return and thus the next calc will not start. When the first calc terminates, ReadLine
can no longer read from the first calc, so returns null. After it has returned, the code can start the second calc.
You can either not read from the first calc or read asynchronously. You might want to refer to Async ReadLine on how to read asynchronously.
You could alternatively start the second calc with p2 before you start calling ReadLine
.