91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
吉林市| 亳州市| 德钦县| 红桥区| 宝山区| 徐州市| 桐城市| 荣成市| 正蓝旗| 盐城市| 大化| 石屏县| 天门市| 滨海县| 集安市| 麻栗坡县| 阳新县| 柳林县| 彭州市| 宁安市| 四会市| 报价| 牙克石市| 遵义县| 天津市| 肃北| 溧水县| 合江县| 岐山县| 托里县| 东城区| 巩留县| 新晃| 同仁县| 肇庆市| 柳江县| 海阳市| 灵璧县| 措美县| 九龙坡区| 苍南县|