1

test.phpLinux UbuntuでPHPスクリプトを使用していますが、このPHPスクリプトでは、いくつかのバックグラウンドプロセスを開始するために使用しshell_exec()ています。

を実行するphp test.phpと、期待どおりにバックグラウンドプロセスが開始されますが、実行するphp test.php &と、これらのいくつかのバックグラウンドプロセスが開始されません。

バックグラウンドプロセスからバックグラウンドプロセスを開始するためのサポートされている方法ではありませんか、それともこれを実行するためのより良い方法がありますか?

4

2 に答える 2

1

試してみてくださいphp test.php < /dev/null &-一部のUnixディストリビューションは、何らかの入力を期待し、プロセスをアイドル状態でバックグラウンドに送信しているようです。Fedora Linux(bash)でテスト済みですが、開始できますがphp test.php &、実行されません。jobsバックグラウンドプロセスの実行を確認します-バックグラウンドからキャッチし、で実行しfgます。

于 2013-01-27T10:58:18.673 に答える
0

proc_openを使用することで可能です。この手法を使用しているPOCとしてマイクロフレームワークを作成しました。

于 2013-01-27T11:03:45.013 に答える