title: Read Standard Output and check status of multiple processes VB.NET
body: <p>I run multiple command line processes, starting them in a loop. It works and starts all of them async. </p>
  
  <pre><code>Public Sub DoWork
  Dim i As Integer = 0
          While (Args_reader.Peek() &gt; -1)
              i = i + 1
              MyArg = Args_reader.ReadLine
              Dim MyArg As String
              Dim MyProcess(i) As Process
              MyProcess(i) = New Process
              With MyProcess(i).StartInfo
                  .FileName = MyFile
                  .Arguments = MyArg
                  .UseShellExecute = False
                  .CreateNoWindow = True
                  .RedirectStandardInput = True
                  .RedirectStandardOutput = True
                  .RedirectStandardError = True
                  .WindowStyle = ProcessWindowStyle.Hidden
              End With
              MyProcess(i).Start()
          End While
          Args_reader.Close()
          i = 0
  End Sub
  </code></pre>
  
  <p>Haw can I read stdOutput for all of them and check their status? 
  I need to wait until they finish to continue executing the program.</p>