首頁 >後端開發 >php教程 >如何在 PHP 中非同步執行 Shell 命令?

如何在 PHP 中非同步執行 Shell 命令?

Patricia Arquette
Patricia Arquette原創
2024-12-01 15:27:11504瀏覽

How Can I Run Shell Commands Asynchronously in PHP?

使用PHP 在後台執行Shell 指令

執行行程密集任務(例如執行shell 腳本)時,通常需要在後台完成任務。這允許用戶繼續使用網站或應用程序,而不必等待任務完成。

使用 shell_exec()

PHP 的 shell_exec() 函數執行一個shell 指令並傳回其輸出。然而,shell_exec() 要求腳本等待命令完成後再繼續。

在後台執行命令

在後台執行shell 命令而不需要等待它完成,使用以下程式碼:

shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');

此程式碼將以下參數加入到末尾shell_exec() 指令:

  • > /dev/null 2>/dev/null:將指令的標準輸出和錯誤輸出重定向到 /dev/null,有效地丟棄它們。
  • &:在背景執行指令,允許腳本繼續執行等待指令完成。

注意:此方法不會傳回指令的輸出或狀態 程式碼。如果您需要存取命令的結果,請考慮使用不同的方法,例如將 exec() 與 nohup 命令結合使用或為背景任務建立專用進程。

以上是如何在 PHP 中非同步執行 Shell 命令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn