質問: close(stdout)するとcgiが終了する。 windows2000+apache2.2+activeperlでcgiを作っています。 cgiで時間のかかる処理を行いたいので、以下のような処理を行いました。 print "content-type: ~ ~ブラウザに返す文字列を標準出力へ~ close(stdout); ~時間のかかる処理~ ところが、「時間のかかる処理」の部分は実行されず、どうやらstdoutをクローズしたことにより、 apacheによってcgiが終了させられてしまうようです。 ネットなどで見るかぎり、unix系のサーバーではよく行われる方法のようなのですが、windowsでの実装になにか違いがあるのでしょうか? また、windowsサーバーでこのようにブラウザに処理を戻しつつ、時間のかかる処理を行いたい場合にはどうすればよいのでしょうか?
回答: >ネットなどで見るかぎり、unix系のサーバーではよく行われる方法のようなのですが、windowsでの実装になにか違いがあるのでしょうか? 検索したら、こういうことらしいです。ビルド環境の違いのようですね。 cgiの動作について http://chaichan.web.infoseek.co.jp/qa3000/qa3198.htm suexec サポート http://httpd.apache.org/docs/2.2/ja/suexec.html >また、windowsサーバーでこのようにブラウザに処理を戻しつつ、時間のかかる処理を行いたい場合にはどうすればよいのでしょうか? こちらは、他の方にお願いします。