在 PHP 中執行後台進程
許多 Web 應用程式需要執行耗時的任務,例如目錄複製。為了增強使用者體驗,最好在背景執行這些任務而不中斷使用者介面。
PHP 中的後台程序執行:
在 PHP 中,執行進程背景可能具有挑戰性。然而,對於Linux 環境,常見的解決方案是使用exec 函數:
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
此命令實現以下功能:
進程監控:
為了監控後台進程的進度,可以使用輔助函數使用:
function isRunning($pid){ try{ $result = shell_exec(sprintf("ps %d", $pid)); if( count(preg_split("/\n/", $result)) > 2){ return true; } }catch(Exception $e){} return false; }
此函數允許您根據ps 命令的輸出檢查具有指定PID 的進程是否仍在運作。
以上是如何在 PHP 中執行後台程序而不阻塞使用者介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!