亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

php異步執行shell腳本怎么實現

小億
139
2023-11-13 21:56:24
欄目: 編程語言

在PHP中,可以使用exec()函數或shell_exec()函數執行shell腳本。但是這些函數默認是同步執行的,如果要實現異步執行,可以使用以下方法:

  1. 使用exec()函數結合&符號:通過在shell腳本的末尾添加&符號,可以將腳本放入后臺執行,實現異步執行。示例代碼如下:
exec('sh script.sh > /dev/null 2>&1 &');
  1. 使用proc_open()函數:proc_open()函數可以打開一個進程,并返回一個資源。可以使用該資源進行進程的控制和通信。通過使用proc_open()函數,可以實現異步執行shell腳本。示例代碼如下:
$descriptorspec = array(
   0 => array("pipe", "r"),  // 標準輸入
   1 => array("pipe", "w"),  // 標準輸出
   2 => array("pipe", "w")   // 標準錯誤輸出
);

$process = proc_open('sh script.sh', $descriptorspec, $pipes);

if (is_resource($process)) {
   // 非阻塞讀取輸出
   stream_set_blocking($pipes[1], 0);
   stream_set_blocking($pipes[2], 0);

   // 關閉標準輸入
   fclose($pipes[0]);

   // 讀取標準輸出和標準錯誤輸出
   $output = stream_get_contents($pipes[1]);
   $error = stream_get_contents($pipes[2]);

   // 關閉標準輸出和標準錯誤輸出
   fclose($pipes[1]);
   fclose($pipes[2]);

   // 關閉進程
   proc_close($process);
}

這些方法都可以實現異步執行shell腳本,具體使用哪種方法取決于你的需求和環境。

0
平凉市| 邵阳市| 黑水县| 隆德县| 西宁市| 潞西市| 白朗县| 清涧县| 万州区| 晋江市| 盱眙县| 临城县| 静乐县| 荥经县| 南昌县| 正蓝旗| 富顺县| 桦南县| 筠连县| 三明市| 咸阳市| 安溪县| 桂东县| 正定县| 长泰县| 合川市| 建水县| 耿马| 黔东| 山阴县| 勃利县| 宝清县| 明溪县| 徐汇区| 南皮县| 通州区| 黄骅市| 两当县| 江油市| 郁南县| 沂南县|