2010-02-15 48 views

回答

2

這聽起來像你需要在後臺運行你的計算。一種方法是使用fork()調用。我想你可能會發現this question有幫助。

+0

是的,你需要產生一個後臺進程來做你想做的。 – pioto 2010-02-15 02:41:58

+0

我也試過。我把用於刷新頁面的代碼放入子進程並計算到父進程中。會發生什麼是HTML文件被創建,但然後瀏覽器不會重定向到新頁面,而是繼續計算。 – amit 2010-02-15 03:02:31

+0

我認爲刷新頁面的代碼應該已經在父類中了。但是,如果您可以將您的計算放入單獨的文件中執行,Proc :: Background可能是最簡單的方法。 – 2010-02-15 06:29:50

1
print "Location: http://yoursite.com/path/to/your/page.html\n"; 

(注意,這是你如何做到這一點在Perl,但「位置」是一個HTTP指令。1.4.3該字符串在任何語言的作品)

+0

我正在使用以下語句。 print''; 我應該使用位置1嗎? – amit 2010-02-15 03:06:00

+0

是的,你應該把META標籤替換成我的標籤。確保你沒有打印出不同的標題。對於HTML,你必須打印「Content-Type:text/html \ n」;我的例子會替換那個頭。換句話說,如果你使用我的方法,那是你唯一可以打印出來的方法。打印出來的東西最多也不會被看到,並可能阻止重定向的發生。 – Cfreak 2010-02-15 15:48:54

0

感謝您的幫助。在此期間,我採取了不同的方法。我不知道它是否好,但它的工作原理。我開始寫一個日誌文件,裏面放入計算所需的參數並啓動一個cronjob。因此,只要該日誌文件中有新的條目,計算就會在後臺開始。

再次感謝您。

+0

編輯您的問題,或添加評論。不要添加答案,這不是一個真正的答案。 – 2010-02-16 14:53:30

相關問題