Perl腳本需要接收ajax請求,向瀏覽器發回「成功」消息,然後「產生」一個進程在後臺運行。 (這個產生的過程可能需要10分鐘才能運行,所以我不希望瀏覽器等待 - 或發生apache超時)Perl發送ajax響應,然後exec()
我的印象是Perl exec()函數會這樣做。比使用fork()或system()更好,因爲它們應該等待響應。
但是,腳本似乎在等待exec()程序完成,然後將成功消息發送到瀏覽器。這裏是我的Perl腳本的末尾:
print "Content-type: text/html\n\n";
print "success"; # this gets returned via ajax
exec $script_filename, $var1, $var2, $var3;
一切正常,但直到$ SCRIPT_FILENAME結束運行瀏覽器未收到「成功」的消息。
我想要做的似乎與this previous post類似,但是那裏沒有足夠的細節。
任何想法?謝謝。
fork()不會「等待響應」。 – pilcrow 2012-04-02 04:12:28