実行コマンドがバックグラウンドでの実行の場合 プロセスIDが取得できないみたいです。
Linuxではバックグラウンド実行されたコマンドのプロセスIDは変数「$!」に入って来るので 以下のようにすることで、
<?php $output = array(); $cmd = "実行コマンド & echo $!"; exec($cmd,$output_arr); ?>
exec関数の第二引数には出力結果を入れる$autputをもたせることで、 output[0]でバックグラウンド実行したプロセスIDを取得することができます。