title: runing script in background and returning its pid from php
body: <p>I try to invoke an app inside php:</p>
  
  <pre><code>ob_start();
  passthru("(cd /opt/server/TrackServer/release &amp;&amp; ./TrackServer&amp; ) &amp;&amp; pidof TrackServer");
  $pid = ob_get_clean();
  var_dump($pid);
  exit;
  </code></pre>
  
  <p>The goal is to run TrackServer within its path and to get it's process id so I can close it after I do some test.</p>
  
  <p>When I run the command in terminal:</p>
  
  <pre><code>(cd /opt/server/TrackServer/release &amp;&amp; nohup ./TrackServer&amp;) &amp;&amp; pidof TrackServer
  </code></pre>
  
  <p>I get correct pid returned but in php the command stops and doesn't go further, the TrackServer is started and running but I have to kill it from terminal to unblock the php script, after killing the process the php script prints the correct pid for the process I've just closed from terminal.</p>
  
  <ol>
  <li><p>Why the command stops? </p></li>
  <li><p>Is there a way to make it run in php the way I'am trying to run it (without forking to a new thread)?</p></li>
  </ol>