title: Process.Exited is never called, even though EnableRaisingEvents is set to true
body: <p>I have an executable, which runs fine when i run it manually, and it exists as it should with the expected output. But when i run it with the method bellow, the Process.Exited event is never fired. Notice that i have remembered the Process.EnableRaisingEvents</p>
  
  <pre><code>protected override Result Execute(RunExecutable task)
  {
      var process = new Process();
      process.StartInfo.Arguments = task.Arguments;
      process.StartInfo.FileName = task.ExecutablePath;
      process.StartInfo.CreateNoWindow = true;
      process.StartInfo.UseShellExecute = false;
      process.StartInfo.RedirectStandardOutput = true;
      process.EnableRaisingEvents = true;
  
      process.Exited += (sender, args) =&gt;
      {
          processSync.OnNext(new Result
          {
              Success = process.ExitCode == 0,
              Message = process.StandardOutput.ReadToEnd()
          });
          processSync.OnCompleted();
      };
      process.Start();
  
      return processSync.First();;
  }
  </code></pre>
  
  <p>The problem is the same, if i use Process.WaitForExit() instead of reactive extensions, to wait for the exit event.</p>
  
  <p>Also, if i run the process with another argument, which produces another output, it exists fine.</p>
  
  <p>It seems to have something to do with the <code>process.StartInfo.RedirectStandardOutput = true;</code> since when i disable this, it works. But that could just be a symptom of another problem.</p>
  
  <p>Any help is appreciated :-)</p>