使用 shell_exec 非同步執行 Shell 命令
在背景執行耗時的任務在 Web 應用程式中至關重要。例如,用戶的請求可能會觸發計算密集型過程,該過程不應阻止用戶的互動。雖然 PHP 函數 shell_exec 是執行 shell 命令的便捷方法,但它需要腳本等待命令完成,這可能會影響使用者體驗。
要解決此問題,可以對 shell_exec 呼叫進行修改。透過將“> /dev/null 2>/dev/null &”附加到命令中,可以執行命令而無需等待其完成。
以下範例示範了此技術:
shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');
請注意,此修改也會丟棄指令的標準輸出和標準錯誤流。如果需要擷取輸出,可以考慮替代技術,例如使用程式控制區塊 (PCB) 或實作守護程式。
以上是如何在 PHP 中非同步執行 Shell 命令而不阻塞使用者?的詳細內容。更多資訊請關注PHP中文網其他相關文章!