title: C++ best way to launch another process?
body: <p>Its been a while since I've had to do this and in the past I've used "spawn" to create processes.</p>
  
  <p>Now I want to launch processes from my application asynchronously so my application continues to execute in the background and does not get held up by launching the process.  </p>
  
  <p>I also want to be able to communicate with the launched processes.  When I launch the process I will send it the launchers process id so that the launched process can communicate with the launcher using it's pid.</p>
  
  <p>What is the best method to use that is not specific to any platform / operating system, I'm looking for a solution that is multi-platform?</p>
  
  <p>I'm writing this in C++, I don't want a solution that ties me to any third party licensed product.</p>
  
  <p>I don't want to use threads, the solution must be for creating new processes.</p>