title: Reading / Writing to several launched processes command lines
body: <p>I was wondering if it is possible to read the input stream / write to the output stream of several launched processes. </p>
  
  <p>I'm asking this as from my current (weak) understanding of how reading / writing to launched processes work, it surely looks as it attaches the input / output streams to my program's console input / output stream.</p>
  
  <p>Is this, indeed, the case? If that's the case, then reading/writing different data to several launched command lines would prove complicated, if not impossible, not achieve.</p>
  
  <p>Is my understanding correct? How to deal with several launched command lines?</p>
  
  <hr>
  
  <p>Some code:</p>
  
  <pre class="lang-ml prettyprint-override"><code>open System
  open System.IO
  open System.Diagnostics
  open System.Threading
  
  [&lt;EntryPoint&gt;]
  let main argv = 
      let startInfo = ProcessStartInfo()
      startInfo.FileName &lt;- "cmd.exe"
      startInfo.UseShellExecute &lt;- false
      startInfo.RedirectStandardInput &lt;- true
      startInfo.RedirectStandardOutput &lt;- true
      let proc = Process.Start(startInfo)
      proc.StandardInput.WriteLine("svn log")
      Console.ReadKey() |&gt; ignore
      0
  </code></pre>
  
  <p>This code, as it is, will print</p>
  
  <pre><code>svn: E155007: 'C:\x\y\z\bin\Debug' is not a working copy
  </code></pre>