2013-05-20 56 views
0

我一直在關注運行和管理php腳本的一些教程作爲後臺進程。我一直在玩下面的腳本。停止在後臺運行的php腳本

<?php 
$count = 0; 
while(true){ 
    $count = $count + 1; 
    file_put_contents('daemon1.log', $count, FILE_APPEND); 
    sleep(1); 

} 
?> 

當我運行這個導航到它的URL在瀏覽器窗口,然後我關閉它似乎繼續運行的窗口。這是典型的PHP腳本?一旦它在背景中運行,我該如何阻止這個過程?

+0

是的,它是典型的基本行爲,但知道有一個執行時間限制(使用默認值30秒)可以使用'set_time_limit'函數來更改 – MatRt

回答

0

當我在瀏覽器窗口中瀏覽其URL時,然後關閉窗口,它似乎仍在運行。這是典型的PHP腳本?

它會繼續運行,因爲它仍工作

當達到最大執行時間或內存限制時,它將會死亡。

一旦它在後臺運行,我該如何停止這個過程?

要停止它,請使用構造如exit

+0

您並沒有真正回答這個問題。他不問如何停止腳本,他詢問當客戶端斷開與服務器的連接時如何停止腳本 – MatRt

+0

@MatRt *當客戶端斷開與服務器的連接時,他要求如何停止腳本*題? – alex

0

是的,它是典型的基本行爲,但知道有一個執行時間限制(使用默認值30秒),可與set_time_limit功能

如果你要管理的那種配置的改變,看看

ignore_user_abort 

,將允許您配置,如果你想忽略或沒有用戶中止。 您還可以檢查客戶端狀態與

connection_aborted 

connection_aborted documentation

ignore_user_abort documentation