B-Cus
1999/10/13(水) 00:07:21
うちの apache-1.3.0 では system("command &") でも
if ( fork ){ # おや
} else { # こ
sleep(100);
}
でも待たされました。STDOUT がオープンされっぱなしだから(かな?)。なので、
$|=1;
print "Content-type: text/html\n\nOK.\n";
if ( fork ){ # おや
close(STDOUT);
} else { # こ
close(STDOUT);
sleep(100);
}
とか。
まぁ、それなら fork せずに
close(STDOUT);
sleep(100);
でもいいんだけど、ダメな環境もある模様。
../199909/99090185.htm
ところで、今回のように fork して close(STDOUT) しても待たされますか?>ふじさん
# Win の perl って fork できないんでしたっけ?
ただし、あまりにも長い処理をしていると、子プロセスにシグナル
飛んでくるかもしんない。その場合は適当にシグナルをブロックして下さい。