[PHP-users 21143]Re: pcntl_fork について
Moriyoshi Koizumi
moriyoshi @ at.wakwak.com
2004年 4月 6日 (火) 06:44:58 JST
小泉です。
PHP のスクリプト中で取得できる標準IOハンドルは
すべて dup() されています。したがって、クローズしても
大本のハンドルは閉じられません。
fopen('php://stdin', 'r') で取得したものも同様です。
この問題は将来解決されるそうです。
Bug #27865: http://bugs.php.net/27865
On 2004/04/03, at 1:22, Eiji Miwa wrote:
>
> ミワです。
>
> PHP 4.3.4 のCGI版で、pcntl_fork の実験をしています。
> (--enable-pcntl してあります。)
>
> 以下のコードをブラウザから実行してみると、
> ブラウザが解放されず、「OK」が表示されるまで
> sleep しただけ待たされてしまいます。
> ---
> #! /usr/local/bin/php
> <?php
>
> $pid = pcntl_fork ();
>
> if ( $pid == -1 ) die ( 'could not fork' );
> else if ( $pid )
> {
> print "Content-type: text/html\n\n";
> print "OK";
> exit;
> }
> else
> {
> sleep (20);
> exit;
> }
>
> ?>
> ---
> perl の場合だと、close ( STDOUT ); としていたので、
> fclose ( STDOUT ); としてみたのですが、結果は同じでした。
>
> すぐにブラウザを解放させるには、どのようにすればよいのでしょうか?
> お分かりになる方がみえましたら、ご教授いただけると助かります。
>
> --
> miwa at offside.ne.jp
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>
PHP-users メーリングリストの案内