pcntl_fork() 関数は、現在のプロセスの子プロセスを作成します。そして、最初に親プロセスを実行し、子プロセスの PID を返します。これはゼロより大きい必要があります。親プロセスのコードで、pcntl_fork (&$status) を使用すると、子プロセスが戻り値を取得するまで親プロセスを一時停止できます。注: 親プロセスをブロックすると、子プロセスもブロックされます。ただし、親プロセスの終了は子プロセスの動作には影響しません。
親プロセスの実行が完了すると、子プロセスが実行されます。このとき、子プロセスはpcntl_fork()を実行する文(この関数を含む)から実行を開始しますが、この時点ではゼロを返します(つまり、これが子プロセスであることを示します)。子プロセスのコード ブロックに exit ステートメントを含めるのが最善です。つまり、子プロセスの実行後すぐに終了します。そうしないと、(ルールを理解することなく) スクリプトの一部の実行が再び開始されます。
要するに、次の 2 つの点に注意してください:
1.不要なエラーを防ぐために、子プロセスに exit; ステートメントを含めるのが最適です。
コードは次のとおりです。ここには他に何も置かないのが最善です ステートメント if ($pid == -1) { die('フォークできませんでした'); } else if ($pid) { // 私たちが親です
pcntl_wait($ status); //子供たちをゾンビから守ります} else {
// 私たちは子供です
}
上記は、pc php の内容を含め、pcntl_fork と pcntl_fork の使い方を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。