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