この件に関しては、たとえばhereとenterなどのエントリがいくつかありますが、どの提案も機能していないようです。ここに例があります:
$pid = shell_exec("nohup sleep 10 2> /dev/null & echo $!");
echo $pid;
sleep 10
バックグラウンドで新しいコマンドを開始し、すぐにシェルに戻ることを期待しています。しかし、見つかった動作は、このコードがサブコマンドの実行を「待機」することsleep 10
です。
コマンドをバックグラウンドで新しいプロセスとして実行するにはどうすればよいですか?