3

execを使用するSSIスクリプト、またはexecまたはproc_openを使用するPHPスクリプトがあり、ユーザーがブラウザーからサーバーにデータを送信したときにプロセスを開始するとします。サーバーが要求の処理を終了し、応答をサーバーに送り返すときに、この生成されたプロセスが終了することは正しいですか?SSIとPHPのどちらを使用する場合でも、生成されたプロセスはこの時点で終了します。

したがって、別々のリクエスト間で「プロセスを存続させる」方法がないため、後続のリクエストで同じプロセスと対話する場合は、デーモンプログラムを作成する必要がありますか?

4

1 に答える 1

2

実際、プロセスを存続させるのは非常に簡単です。私たちは常にそれを行います。

次のようなシェルスクリプト(wrapper.sh)を作成します

#!/bin/bash
/path/to/some/process < /dev/zero > "$1" &
echo "Blah"

echo "Blah"一部のシステムではが必要であることがわかりました。

を使用してプロセスを生成するとwrapper.sh "/path/to/output/file"、ほぼすぐに戻ります。後のスクリプト呼び出しで、結果を取得するために読み取ることができます/path/to/output/file

于 2012-07-04T17:50:35.843 に答える