title: Process created by Process.Start() terminates when the parent application is closed
body: <p>I'm using C# and Mono 2.10.2 on Debian 6.</p>
  
  <p>So the scenario is that I created a process with Process.Start() like the following:</p>
  
  <pre class="lang-cs prettyprint-override"><code>Process p = new Process();
  
  p.StartInfo.UseShellExecute = false;
  p.StartInfo.RedirectStandardOutput = true;
  p.StartInfo.RedirectStandardInput = true;
  p.StartInfo.RedirectStandardError = true;
  p.StartInfo.WorkingDirectory = "/home/lucy/";
  p.StartInfo.FileName = "/bin/sh";
  p.StartInfo.Arguments = "/home/lucy/test.sh";
  
  p.EnableRaisingEvents = true;
  p.ErrorDataReceived += new DataReceivedEventHandler(ShellProc_ErrorDataReceived);
  
  p.Start();
  </code></pre>
  
  <p>The shell script which is in this case called test.sh is ran which does several things including starting a java application. The problem I am recieving is when the c# application is terminated the bash script/java application also terminates.</p>
  
  <p>I have looked at several other similar questions posted here on Stack Overflow and none come to an obvious conclusion, including this one:</p>
  
  <p><a href="https://stackoverflow.com/questions/1008886/how-to-create-a-process-that-outlives-its-parent">How to create a Process that outlives its parent</a></p>
  
  <p>According to some users and supposedly the docs, processes created by Process.Start() should not be terminated when the application terminates, but obviously in my case that is not true. So could this be a Mono related issue and if that is indeed the case then is there any alternatives to how I'm doing it now as I am out of ideas.</p>