首頁 > 後端開發 > php教程 > 如何在 PHP 中非同步執行 Shell 命令而不阻塞使用者?

如何在 PHP 中非同步執行 Shell 命令而不阻塞使用者?

Linda Hamilton
發布: 2024-12-01 08:28:19
原創
553 人瀏覽過

How Can I Asynchronously Execute Shell Commands in PHP Without Blocking the User?

使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板