2017-09-04 23 views
0

我有安裝了xampp的Windows 10。 假設我有一個PHP腳本,包含在Windows上的PHP - 檢查是否在後臺工作

set_time_limit(0); 
ignore_user_abort(true); 

$counter = 0; 

while($counter < 60){ 
    file_put_contents('runtime_log.txt', $counter." \r\n", FILE_APPEND); 
    $counter++; 
    sleep(1); 
} 

我可以關閉瀏覽器窗口和腳本還將被寫入輸出runtime_log.txt 如果我要檢查,如果它在後臺運行在Linux上,我會用

ps aux | grep php 

如何在Windows上做同樣的事情?

編輯:我簡化了我的問題,因爲我可以看到它被誤解了。

+1

[如何獲取運行PHP的操作系統?](https://stackoverflow.com/questions/1482260/how-to-get-the-os-on-which-php-is-運行) – Link

+0

https://superuser.com/questions/18830/is-there-a-command-in-windows-like-ps-aux-in-unix你需要命令'tasklist' –

+0

@vadim_hr我試過使用它,但它不顯示任何php.exe進程。 – Enri

回答

0

您不能從Windows中的進程列表中直接獲得這些信息,因爲默認的Apache配置爲加載PHP作爲一個模塊(一個.DLL),所以它不會在運行時被列爲不同的進程(除非PHP被配置爲以CGI運行,但現在不再使用該選項)。

我認爲,你可以搜索,使用Process explorer,打開它,然後搜索(使用雙筒望遠鏡圖標)爲打開的句柄爲runtime_log.txt,如果該文件是由PHP打開一個打開的句柄應該出現的httpd(阿帕奇)進程(這是我用來查找阻止我刪除文件的程序的方法)。

請注意,由於Apache作爲系統服務運行,因此可能需要運行提升的Process Explorer(以管理員身份)。